PHP 2012-08-16T21:14:03.447 中的日期时间是什么格式?
这种格式包含在ISO 8601 国际标准中,尽管不是特别常用的示例。
另外:建议(在标准中)秒的小数部分前面有逗号而不是点。
如何将其转换为时间戳,反之亦然?
像往常一样,与strtotime()
或DateTime
类。
$subject = '2012-08-16T21:14:03.447';
echo date('r', strtotime($subject));
// or
$datetime = new DateTime($subject);
echo $datetime->format('r');
我有一个时间戳格式 1345108443790,如何获取日期时间?
这是Unix time,但以毫秒为单位。基本算术将为您提供以秒为单位的 Unix 时间,然后您可以使用该格式创建一个DateTime
对象。@1234567890
$subject = 1345108443790;
$unixtime = (int) ($subject / 1000);
echo date('r', $unixtime);
// or
$datetime = new DateTime("@$unixtime");
echo $datetime->format('r');
如果您需要毫秒精度,那么您可以使用DateTime::createFromFormat()
.
$subject = 1345108443790;
$unixtime = (int) ($subject / 1000);
$millis = $subject % 1000;
$datetime = DateTime::createFromFormat('U u', "$unixtime $millis");
echo $datetime->format('r u');