我有一個包含以下格式的時間戳的mysql表。PHP將malformated timestamp的格式更改爲秒數
下午10:00
2011年4月23日我將如何使用PHP來改變這一奇怪格式化時間戳的格式轉換成格式你當此聲明:echo date('U');
又名自秒Unix時代。然後我想用新格式更新我的表格。
我有一個包含以下格式的時間戳的mysql表。PHP將malformated timestamp的格式更改爲秒數
下午10:00
2011年4月23日我將如何使用PHP來改變這一奇怪格式化時間戳的格式轉換成格式你當此聲明:echo date('U');
又名自秒Unix時代。然後我想用新格式更新我的表格。
可以strtotime()
保存嗎?
http://php.net/manual/en/function.strtotime.php
如果沒有,那麼你將要發生爆炸「」和「」,然後做一些數學陷入秒
** WOW!** strtotime()做到了!即使在那裏的「在」。謝謝! – 2011-04-24 05:22:45
如何:
echo date('U', strtotime(str_replace('at', '', 'April 23, 2011 at 10:00 PM')));
你可以即使沒有PHP也行。 列添加int_timestamp到表,使用SQL查詢更新:
update table set int_timestamp=unix_timestamp(str_to_date(odd_timestamp, '%M %d,%Y at %h:%i %p'))
確保新創建的時間戳是正確的(有些時區相關的問題是可能的),刪除舊的時間戳,並重新命名新一箇舊的。
這看起來很棒,但請你解釋一下每個單詞的含義。例如:「table」應該是我的表的名字。 「int_timestamp」,「unix_timestamp」,「str_to_date」和「odd_timestamp」等其他內容代表什麼? – 2011-04-24 16:14:29
int_timestamp是您的表中需要創建的列的名稱,以便將新時間戳記保存爲整數,odd_timestamp是需要更改的時間戳列,unix_timestamp()是將mysql datetime轉換爲類似php的整數時間戳記的mysql函數和str_to_date()是mysql函數將你奇怪的格式化日期轉換爲規範化的mysql日期時間格式。 – piotrm 2011-04-24 17:57:42
是否存儲爲varchar? – afuzzyllama 2011-04-24 05:11:56
它以文本形式存儲。是的,我知道這很愚蠢。 – 2011-04-24 05:14:59