2017-01-27 13 views
-1

我想轉換2017年5月1日12:15:00 PM,以便它看起來像這樣1493612100000如何使用mysql或java獲取日期時間的數字/整數格式?

然後將其轉換爲字符串。是否可以在Java和MySQL中以及如何執行?

+1

將'String'解析爲'Date'或'LocalDateTime'對象,從中獲取「millis」值將自己擊倒。問題是,您將失去時區上下文,但由於您的格式中沒有TZ,因此可能已成問題:P – MadProgrammer

+1

什麼是「2017年5月1日12:15:00 PM」?這是一個'String'嗎? 'Date'? 'LocalDateTime'?它是一個數據庫列嗎?你想做什麼? – shmosel

+2

您似乎有兩個基本問題,將日期轉換爲有效的Date或LocalDateTime對象,其中包含大量示例;從所述對象中獲得毫秒值,再次是大量的例子。如果你不打算解決這個問題,不要指望別人也這樣做。如果嘗試並卡住,我們將在這裏幫助 – MadProgrammer

回答

1

你可以在MySQL中分兩步執行此操作。首先,使用STR_TO_DATE()將字符串時間戳轉換爲datetime,然後將該日期從使用UNIX_TIMESTAMP()的時期轉換爲毫秒。

SELECT 1000*UNIX_TIMESTAMP(STR_TO_DATE(col, '%M %e, %Y %h:%i:%s %p')) AS millis 
FROM yourTable 

這將返回毫秒以來的時間,這是您的示例數據所指的。

演示在這裏:

SQLFiddle

+0

我試過這個,它返回所有(NULL)數據 –

+0

我解決了它從MyTable的SELECT UNIX_TIMESTAMP(Start_Date)...但不完全是我的問題所示的數值 –

0

你是什麼意思1493612100000?如果它只是可比較的整數,則您可以使用下一個解決方案 。

Mysql的具有功能UNIX_TIMESTAMP它可以像這樣使用:

SELECT UNIX_TIMESTAMP(`table`.`date`) from `table` WHERE ...; 

要將字符串轉換成日期使用:

STR_TO_DATE('May 1, 2017 12:15:00 PM', '%M %d, %Y %h:%i:%s%p') 

一起:

SELECT UNIX_TIMESTAMP(STR_TO_DATE(...)) 
+0

*「我想轉換5月1日, 2017 12:15:00 PM所以它讀取......「* - UNIX_TIMESTAMP'是否做到這一點? – MadProgrammer

+0

這是我的答案的副本,並且格式掩碼是錯誤的。幾秒鐘後有一個空間,並且有「AM/PM」。 –

+0

您的評論中沒有提及您的答案副本,它在面具上有所不同。這是第一。第二:我的回答顯示了另一個功能,因爲它的名稱是它的參數。 – oklas

相關問題