gpt4 book ai didi

PHP date() 返回格式 yyyy-mm-ddThh :mm:ss. uZ

转载 作者:可可西里 更新时间:2023-11-01 12:19:17 24 4
gpt4 key购买 nike

我检查了以下问题/回复: How do I get the format of “yyyy-MM-ddTHH:mm:ss.fffZ” in php?响应包括指向 Microsoft 文档的链接以格式化日期,但这些在 PHP 中不起作用。

最佳答案建议

date('Y-m-dTH:i:s.uZ')//当前时间

这输出2013-03-22EDT12:56:35.000000-1440016

背景

我正在使用需要上述格式的时间戳的 API。 API 位于英国 (GMT),我的服务器位于澳大利亚 (AEST)。

API 文档中给出的示例要求日期采用以下格式:

2011-07-15T16:10:45.555Z

我能得到的最接近的是 date('c') 输出:

2014-07-03T16:41:59+10:00//注意 Z 被替换为以小时为单位的时差

我相信“Z”指的是区域,但 PHP 文档中并未提及。

不幸的是,当我发布这种格式时,API 正在读取时间并暂停了 10 个小时。我收到一条错误消息,指出日期不能是过去的日期(因为它正在对照墨尔本的本地时间进行检查,但看到的时间早 10 小时)。

我已尝试修剪时间戳以删除 API 接受的 +1000,但记录显示为 10 小时前创建的。

我需要匹配所需的时间戳,但我找不到任何方法来复制上述输出,在澳大利亚墨尔本的 PHP 中。非常感谢任何帮助。

关于 SO 的第一个问题,所以请让我知道我的进展情况

最佳答案

Z 代表时区 UTC 并在 ISO-8601 中定义,这是您想要的输出格式,由毫秒部分扩展。

在输出时间之前,您需要将本地时间转换为 UTC:

$dt = new DateTime();
$dt->setTimeZone(new DateTimeZone('UTC'));

然后你可以使用下面的格式字符串:

echo $d->format('Y-m-d\TH-i-s.\0\0\0\Z');

请注意,我已将毫秒部分归零并转义格式模式中的特殊字符 TZ

关于PHP date() 返回格式 yyyy-mm-ddThh :mm:ss. uZ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24605384/

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