2013-07-05 135 views
0

嗨我有一個要求毫秒轉換爲日期。日期應該可以被MYSQL接受。從毫秒轉換到MYSQL日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); 
GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central")); 
calendar.setTimeInMillis(System.currentTimeMillis()); 
System.out.println("GregorianCalendar -" + sdf.format(calendar.getTime())); 

我嘗試這樣做的例子,但這裏 「sdf.format(calendar.getTime()」 這個方法在下面的格式其給予串 「YYYY-MM-DD HH:MM:SS」。

但我想Date對象,也即是在上述格式(YYYY-MM-DD HH:MM:SS)。

那麼,如何可以將其轉換爲日期格式

請幫我在這。 ...

Thanx預先... :)

+0

日期沒有格式。 –

回答

0

日期對象沒有格式。這就是爲什麼我們需要DateFormat對象來格式化它們。

0

實際上,您不能以特定格式擁有日期對象。 Java在內部管理日期對象。但是,您可以根據需要使用SimpleDateFormat來格式化日期對象。 順便說一句,有一個特定格式的日期對象是沒有意義的。

2

我們不要存儲日期或時間戳爲字符串在數據庫中。因此,以特定格式保存是沒有意義的。你只需將它們保存爲SQL Timestamp,然後使用日期格式功能格式化(不論是在的Java或使用PL/SQL後端)每當你需要顯示或需要的字符串表示他們。

因此,使用java.sql.Timestamp作爲

Timestamp dbDateTime = new java.sql.Timestamp(System.currentTimeMillis()); // or 
Timestamp dbDateTime = new java.sql.Timestamp(calendar.getTimeInMillis()); 

編輯 如果DOB字段是java.util.Date類型,然後使用

Timestamp dbDateTime = new java.sql.Timestamp(dob.getTime()); 

如果該字段爲java.sql.Date類型,那麼你可以如果後端列也是DATE或者使用s上面的ame代碼首先將其轉換爲Timestamp

+0

我有一個人對象,它有一個出生日期字段,此字段的類型是DATE。那麼如何將這個「TimeStamp」參考存儲在我的數據庫中?這裏我的場景是我試圖使用SPRING MVC插入日期。所以從JSP我會得到一個字符串,我將它轉換爲Date,並將該值保存到數據庫中,但是在數據庫中它存儲爲「Fri Jul 05 19:29:23 IST 2013」​​,當我檢索到該值時,它顯示爲空在我的JSP中。 – Amar

+0

@Amar檢查我的更新。這可能會有所幫助,但是您需要分解完整的流程,並使用實際突破的部分更新您的問題。很難跟蹤數據如何在您的應用程序中流動。請詳細說明您的問題,並通過更新或發佈新問題。 –

0
public static Date getDate(long milliSeconds, String dateFormat) 
{ 
DateFormat formatter = new SimpleDateFormat(dateFormat); 

Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(milliSeconds); 
DateFormat formatter2 = new SimpleDateFormat(dateFormat); 
Date d = null; 
try { 
    d = (Date)formatter2.parse(formatter.format(calendar.getTime())); 
    System.out.println(formatter.format(calendar.getTime())); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 
return d; 
} 

嘗試訪問它像這樣

的System.out.println(GETDATE(82233213123L, 「YYYY-MM-DD HH:MM:SS」));

放出來應該是週四08月10日00:03:33北京時間1972年

0
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); 
GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central")); 
calendar.setTimeInMillis(System.currentTimeMillis()); 
String date = sdf.format(calendar.getTime()); 
Date dateObject = sdf.parse(date); 

的「dateObject」會給你的日期格式,因爲你需要。

+0

我打印「dateObject」,我得到了像「Fri Jul 05 19:32:00 IST 2013」​​這樣的輸出,我只是將這個值存儲在我的數據庫中。但是當我使用SPRING + jsp顯示此值時,它顯示爲空。 – Amar

+0

你的意思是你不能在D.B中插入這個? – pikrut