gpt4 book ai didi

php - 来自 php 日期(格式化)函数的奇怪/不正确的输出

转载 作者:行者123 更新时间:2023-12-04 05:08:01 25 4
gpt4 key购买 nike

我在尝试将 Unix 时间(取自由 SVN Info 命令生成的 XML 文件)转换为格式化的日期/时间时遇到问题。
$svnInfoTime是正确的,生成的 $unixTime反射(reflect)了这一点,尽管 $formattedDate似乎略出。

我已经看到这种情况发生在许多(但不是全部)情况下。一个例子:

<?php 
$svnInfoTime = "2013-03-06T15:42:00.894378Z";
$unixTime = strtotime($svnInfoTime);
$formattedDate = date('d F, Y, h:i A', $unixTime);

echo "SVN info time : " . $svnInfoTime . "<br>";
echo "unix time : " . $unixTime . "<br>";
echo "formatted date: " . $formattedDate . "<br>";
>

输出:
SVN info time : 2013-03-06T15:42:00.894378Z
unix time : 1362584520
formatted date: 06 March, 2013, 04:42 PM

为什么格式化后的日期显示为下午 4:42,而 Unix 时间是下午 3:42?

谁能告诉我我哪里出错了?

最佳答案

PHP的 date() 函数在输出/格式化日期时会考虑您的时区设置。

检查您所在的时区,或将您的自定义时区设置传递给 date函数以获取下午 3:42 的输出。

附言它在 codepad.viper-7.com 上运行良好

编辑

通过不同的 timezone( Asia/Kolkata )之前date()调用,结果输出 晚上 9:12 .

$svnInfoTime = "2013-03-06T15:42:00.894378Z";
$unixTime = strtotime($svnInfoTime);
date_default_timezone_set('Asia/Kolkata');
$formattedDate = date('d F, Y, h:i A', $unixTime);
echo "SVN info time : " . $svnInfoTime . "<br>";
echo "unix time : " . $unixTime . "<br>";
echo "formatted date: " . $formattedDate . "<br>";

给出:

SVN info time : 2013-03-06T15:42:00.894378Z
unix time : 1362584520
formatted date: 06 March, 2013, 09:12 PM

关于php - 来自 php 日期(格式化)函数的奇怪/不正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com