我已經搜索了此轉換並找到了相反的結果。如何將iso-8601時間戳轉換爲MySQL DATETIME
我正在使用圖形API和日期格式拉動Facebook頁面供稿是iso-8601。
我需要將其轉換爲mysql時間戳以將其添加到我的數據庫。大多數搜索結果將mysql提供給iso。
我可以得到一個直接轉換,或者我必須轉換爲Unix然後mysql或類似的東西。
我已經搜索了此轉換並找到了相反的結果。如何將iso-8601時間戳轉換爲MySQL DATETIME
我正在使用圖形API和日期格式拉動Facebook頁面供稿是iso-8601。
我需要將其轉換爲mysql時間戳以將其添加到我的數據庫。大多數搜索結果將mysql提供給iso。
我可以得到一個直接轉換,或者我必須轉換爲Unix然後mysql或類似的東西。
SELECT STR_TO_DATE('2012-06-25T20:05:13+0000', '%Y-%m-%dT%H:%i:%s+0000')
這適用於時區設置爲+0000(FB圖形API通常返回的是什麼)的日期。
我需要日期時間轉換與一個時區以外的其他+0000,你可以拆分datestring首先,在第一部分進行STR_TO_DATE
,並使用DATE_ADD
在第二部分指定的偏移量添加。
這是一個選擇語句的權利。使用PHP我需要格式化的iso-8601日期格式保存在一個MySQL日期時間戳 –
_「這是一個選擇語句的權利。」_ - 沒有得到你的過去,eagleeye ... _「使用PHP我需要格式化ISO -8601日期格式保存在一個mysql日期時間戳「_ - 你可以把這個函數放到你的SQL查詢中,然後把日期字符串動態地放入它。 – CBroe
@Cbroe建議您在INSERT查詢中使用STR_TO_DATE函數,並允許MySQL將ISO時間字符串轉換爲其內部格式。請注意,您可能希望在插入這些+0000日期之一之前立即執行此MySQL語句,以便時區偏移對於由FB爲您提供的UTC時間正確。 'SET time_zone ='+ 00:00'' –
使用MySQL的函數STR_TO_DATE(str,format)
在您的更新語句:
UPDATE [table] SET [field] = STR_TO_DATE([your input date], '%Y-%m-%dT%H:%i:%s+0000');
的STR_TO_DATE
功能需要兩個參數1)您的日期字符串和2),可以以同樣的方式被格式化爲mysql DATE_FORMAT()
輸出格式請參閱: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
我需要解析的格式在https://en.wikipedia.org/wiki/ISO_8601中作爲此示例進行了描述:2017-09-20T18:12:02 + 00 :00 爲了解析這個問題,我在時區掩碼中添加了一個冒號:'%Y-%m-%dT%H:%i:%s + 00:00' – Rodrigo
同時,使您的生活簡單由圖形API調用指定要返回UNIX時間http://developers.facebook.com/docs/reference/api/ #dates –