Php将日期时间转换为标准时间,如“2017-01-10T18:00:00.000Z”。

18 浏览
0 Comments

Php将日期时间转换为标准时间,如“2017-01-10T18:00:00.000Z”。

我从另一台服务器收到了一个带有日期时间的响应,格式如下:

"2017-01-10T18:00:00.000Z"

我想将其转换为标准的日期时间格式,应该如何做?

"2017-01-10 18:00:00"

有没有标准的方法可以做到这一点?或者我必须依赖正则表达式来解码它?

注意:

大多数人建议我使用以下函数

echo date("Y-m-d H:i:s", strtotime("2017-01-10T18:00:00.000Z")) . "\n";**

但是,从该函数得到的输出是错误的,得到的是"2017-01-11 05:00:00",而不是"2017-01-11 18:00:00",为什么?我希望得到我所说的"2017-01-10 18:00:00"

0
0 Comments

问题出现的原因是需要将形如"2017-01-10T18:00:00.000Z"的时间格式转换成标准的时间格式。解决方法可以使用PHP的date_time()函数来实现。

具体的解决方法可以参考以下链接:PHP Convert ISO date to more readable format?

以下是解决该问题的代码示例:

$dateString = "2017-01-10T18:00:00.000Z";
$dateTime = new DateTime($dateString);
$standardTime = $dateTime->format('Y-m-d H:i:s');
echo $standardTime;

通过以上代码,可以将"2017-01-10T18:00:00.000Z"转换成标准的时间格式"2017-01-10 18:00:00"。

0
0 Comments

问题的出现原因:需要将形如"2017-01-10T18:00:00.000Z"的日期时间转换为标准时间格式,但是该格式不符合常规的日期时间格式,因此需要找到解决方法。

解决方法一:使用PHP的date函数和strtotime函数进行转换。具体代码如下:

date('Y-m-d h:i:s', strtotime($yourDate));

解决方法二:使用Carbon类的parse方法进行转换。具体代码如下:

Carbon::parse($date)

以上两种方法都可以实现将"2017-01-10T18:00:00.000Z"转换为标准时间格式。具体使用哪种方法可以根据实际需求来选择。

希望以上方法能对您有所帮助 🙂

0
0 Comments

问题的出现原因是PHP的date函数在将UTC时间转换为本地时间时会受到服务器当前时区设置的影响。解决方法是使用gmdate函数代替date函数,因为gmdate函数将UTC时间转换为格林威治时间,不受服务器时区设置的影响。

以下是解决方法的代码示例:

echo gmdate("Y-m-d H:i:s", strtotime("2017-01-10T18:00:00.000Z")) . "\n";

这样就可以得到正确的结果,即2017-01-10 18:00:00。

需要注意的是,"Z"在第一个日期时间字符串中表示UTC时间。当使用date函数进行转换时,结果会根据PHP服务器的本地时区进行调整。而使用gmdate函数进行转换时,结果则是格林威治时间,不会受到服务器时区设置的影响。

时间通常以UTC(协调世界时)表示,并附带特殊的UTC标识符("Z")。更多信息请参考w3.org/TR/NOTE-datetime。

0