我有以下php代码,用于格式化当前日期和时间:
$rawdatetime = time();
$datetime = date('Y-m-d', $rawdatetime) . 'T' . date('H:i:s', $rawdatetime) . '.000Z';
$this->debug($datetime);
格式似乎工作正常,但它一直输出它是1970;我得到以下输出:
1970-01-01T00:00:00.000Z
我猜是我的服务器配置不正确,但我的谷歌搜索没有给我任何线索。如果有帮助的话,我正在运行WAMP。
事先感谢您的任何建议。
编辑:日期和时间功能似乎工作正常;但是把它们赋值给一个变量才是问题所在。任何工作,以获得与上述相同的格式将是受欢迎的。但是我也想知道为什么这个问题会发生。首先,您根本不需要在这里使用time()
,因为如果您不向该参数传递值,date()
将使用当前时间作为默认值。
其次,您使用两个单独的date()
调用,由"T"
分隔。注意,date()
的格式可以接受硬编码字符,如T
;你只需要用反斜杠转义它们,所以你不需要把它分成两个函数调用。
你的整个代码看起来像这样:
$datetime = date('Y-m-d 'T H:i:s.'0'0'0'Z');
得到2013-06-19 T 11:18:53.000Z
它对我来说工作得很好(当返回时,而不是$this->debug
)。因此,要么您的PHP版本有问题,要么问题不在您的代码示例中。我是这样做的:
<?php
$rawdatetime = time();
$datetime = date('Y-m-d', $rawdatetime) . 'T' . date('H:i:s', $rawdatetime) . '.000Z';
echo $datetime,"'n";