2009-10-07 103 views
22

如何将自人类友好日期转换为unix时代以来的毫秒数?将人性化日期转换为毫秒

+0

欺骗http://stackoverflow.com/questions/113829/date-to-timestamp -php – SilentGhost 2009-10-07 16:00:17

+3

如果考虑到_milliseconds_问题,这不是一个骗局 – drAlberT 2009-10-07 16:19:24

+2

它取决于,要知道乘以1k秒不等于有一个毫秒的精度?看到我的答案:) – drAlberT 2009-10-07 16:51:25

回答

43
strtotime($human_readable_date) * 1000 
+3

+1发现他说毫秒,我没有。 – 2009-10-07 15:58:46

+0

感谢你们两位 – stunnaman 2009-10-07 16:02:53

+11

请注意,你的毫秒数只是假的,因为你的真实精度只有1k毫秒,也就是第二个:) ......这样你__不会有毫秒,但秒表示为毫秒数 – drAlberT 2009-10-07 16:11:36

12

您正在寻找strtotime

用法示例:

$myvar = strtotime("7 October 2009"); 

所以你要这使你秒自Unix纪元,:

$myvar = strtotime("7 October 2009") * 1000; 

当心事实strtotime“猜测”你的意思(应该如何它可能解释为“12-08-2009”?可能在12月8日,但它可能同样有效 - 并且在8月12日猜测是一个英国人,彻底明智)。如果您事先知道该格式,请使用strptime

15

关注: 的strtotime()* 1000是确定有表述为毫秒秒!

正确的答案是,PHP中日期/时间函数的精度不可能达到毫秒级。 基于Unix太平洋业务中心的精密功能只是1K毫秒,又名第二:)

使用建议答案你没有毫秒,但是秒表示为毫秒的数量。

如果你意识到这一点,你并不真的需要一个精确到毫秒,然后给出的答案是好的,但问题是错误的:)