【发布时间】:2017-06-27 10:55:09
【问题描述】:
我正在使用的数据库以整数格式存储日期(今天 = 79074,似乎是 Julien 日期 + 36163)。 你知道 PHP 代码会从今天的日期反向重新创建吗?
我发现它使用的是 excel 序列化日期,因此是奇怪的数字 我找到了函数
function ExcelToUnixTimestamp($dateValue = 0)
{
$excelBaseDate = 25567;
// Perform conversion
if ($dateValue >= 1) {
$utcDays = $dateValue - $excelBaseDate;
$returnValue = round($utcDays * 86400);
if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) {
$returnValue = (integer) $returnValue;
//echo $returnValue - 36163;
}
} else {
$hours = round($dateValue * 24);
$mins = round($dateValue * 1440) - round($hours * 60);
$secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60);
$returnValue = (integer) gmmktime($hours, $mins, $secs);
//echo $returnValue - 36163;
}
return $returnValue;
}
$weirdTimestamp = 79074;
$unixTimestamp = ExcelToUnixTimestamp($weirdTimestamp - 36163);
echo date('Y-m-d H:i:s', $unixTimestamp);
但是我想重新创建它,以便今天的日期 (79074) 可以每天替换为新值 (excel 序列化)
谁能帮忙 道歉之前压力很大
这个问题看起来与这里的问题相似 Date format from MSSQL to other 任何人都可以对此有所了解
【问题讨论】:
-
在此站点上,您应该尝试自己编写代码。在 doing more research 之后,如果您有问题,您可以发布您尝试过的内容,并清楚地解释什么不起作用并提供minimal reproducible example。我建议阅读How to Ask 一个好问题和the perfect question。另外,请务必使用tour 并阅读this。
-
在 Google 中输入“php julian date”并不难……所以请先基本在此处提问。
-
是的,我很清楚这一点,但你怎么会这么说..我不知道如何找到答案,因此没有代码,否则我会把它放在一起问题