PHP中将ATOM日期格式转换为UNIX时间戳

3

我需要将一个PHP中的feed日期/时间转换为Unix时间戳。

2010-04-13T10:00:00.000-04:00 -> Unix

我一直在尝试使用date()strtotime(),但没有成功。


你能更精确地描述正在遇到的问题吗?strtotime 不应该将指定日期视为有问题的。你尝试过什么,它给你带来了什么错误结果? - salathe
2个回答

2
$dt=new DateTime("2010-04-13T10:00:00.000-04:00");
echo $dt->format('U');

$feedTime = '2010-04-14T08:30:00.000-04:00'; strtotime($feedTime);这个实际上很好用。我的问题在于时区,上面的输入导致我的“小时”是5而不是8,通过以下方式解决:date_default_timezone_set('America/New_York');这是为了Google日历,现在这两个时区同步后就不应该有问题了。感谢您的帮助。 - Prime Studios

0

试试这个:

$time = strtotime(preg_replace('/(T|\.\d{3})/', ' ', '2010-04-13T10:00:00.000-04:00'));

在这里,我使用了preg_replace函数将T和毫秒替换为单个空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接