【发布时间】:2012-07-18 15:12:27
【问题描述】:
如何在 php.ini 中将字符串“M-d-Y::H:i:s”转换为 unix 时间戳。我刚刚意识到操作日期和时间一定是任何编程语言中最耗时的实体。
小问题:为什么你认为没有任何通用的日期时间格式。为什么相同的数据会有如此多的变化?啊啊啊。
【问题讨论】:
如何在 php.ini 中将字符串“M-d-Y::H:i:s”转换为 unix 时间戳。我刚刚意识到操作日期和时间一定是任何编程语言中最耗时的实体。
小问题:为什么你认为没有任何通用的日期时间格式。为什么相同的数据会有如此多的变化?啊啊啊。
【问题讨论】:
OOP 方式(需要 PHP >= 5.3.0):
$dt = DateTime::createFromFormat("M-d-Y::H:i:s", $input);
$ts = $dt->getTimestamp();
你当然应该检查createFromFormat的返回值(如果发生错误,它是false),但你也应该一定检查DateTime::getLastErrors();否则你可能会感到惊讶,例如您输入的日期为“Jan 32”。请参阅我的回答 here 了解更多信息。
【讨论】:
false)或getLastErrors()(它会告诉你出了什么问题)。我建议你这样做是有原因的。
m-d-Y::H:i:s,以免未来的 SO 读者感到困惑。
:: 部分不是我见过的任何标准,而且我见过很多)。无论如何,问题/答案对就目前而言还不错,如果您需要不合理的话,是否可以点击文档查看格式说明符?
我有这个问题服务不可用(带有消息)ResponseText:错误:在布尔值上调用成员函数 getTimestamp() 如何解决这个问题。
【讨论】: