首页 > 解决方案 > 将现在和十分钟前转换为不同的时区

问题描述

我想转换十分钟前和现在的时间戳以匹配以下格式:

2018-09-23T04:47:07.237

以下是我想转换以匹配上述格式的时间戳:

$now = date('m/d/y g:i a');
$now = strtotime($now);
$ten_minutes_ago = strtotime('-10 minutes');

我怎样才能做到这一点?谢谢!

标签: phptimezonetimestamp

解决方案


这就是我将如何做你所要求的。

如果您的数据在字符串中。这是您需要的唯一代码行:

$date = date('m/d/y g:i a'); //Gets a date string.
echo substr(date('Y-m-d\TH:i:s.u', strtotime($date . ' -10 minutes')), 0, -3); // PHP < 7.0.0

//echo date('Y-m-d\TH:i:s.v', strtotime($date . ' -10 minutes')); //PHP > 7.0.0  

这将产生:

前任。

18 年 9 月 23 日上午 12:13

2018-09-23T00:03:00.000

这里要注意一件事。m/d/y g:i a如果您的原始输入日期是字符串并且采用您指定的格式,则微秒将始终为零。原因是日期字符串中没有毫秒信息。

如果您将输入日期创建为 dateTime 对象,则该对象将能够为您跟踪微秒。


推荐阅读