2009-10-07 101 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毫秒,又名第二:)

使用建議答案你沒有毫秒,但是秒錶示爲毫秒的數量。

如果你意識到這一點,你並不真的需要一個精確到毫秒,然後給出的答案是好的,但問題是錯誤的:)