2012-12-20 92 views
0

我有一個問題,SQL服務器的日期時間之間的轉換到Java的java.util.date已解決Parse Datetime to JAVA Date但現在的問題是我datetime(2013年1月1日)被轉換爲Tue Jan 01 00:00:00 PKT 2013取出秒和區域信息我想這是像01 Jan 2013是否有可能或我不得不使用字符串... 我試過JODA time但問題依然存在。請指導我通過正確的路徑從日期JAVA

編輯:

我有datetime格式的SQL服務器數據庫爲dd MMM yyyy01 Jan 2013我不得不從SqlRowSetrs.getString(4)現在的價值,而我所獲得的日期時間字符串轉換從數據庫到java.util.date,我沒有使用在上述問題的指導方針,但問題是它增加了區域的其他信息和secods像

2013年1月1日SQL Server格式的日期時間

星期二1月1日00:00:00 PKT 2013 java.util.date格式

我想是的java.util.date要像01 Jan 2013

+0

請說明一下:你是否想把你的java.lang.Date實例作爲一個字符串輸出到文件,屏幕或指定格式的wahtever中? – ppeterka

+0

沒有理解你的問題。在這裏輸入你的datetime sql server conf。 –

+0

更新了問題 – dakait

回答

2

一個java.util.Date內部有一個數字來表示(a long),而不是通過日期,月份,小時等字段...您通過將此數字格式化爲SimpleDateFormat來獲得這些數字。您現在得到的字符串是使用Date.toString()獲得的默認表示。如果您希望格式不同,請使用SimpleDateFormat

0

在我看來betetr使用Joda時間API來輕鬆處理日期時間字段。這個API對此非常有用。在java.util.Date包中使用Date Time格式器或簡單的日期時間格式器類。這對您獲得理想的結果會更有幫助。

0

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html將完成這項工作。

SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy"); 
System.out.println(sdf.format(date)); 

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/DateFormat.html也可以使用,只要你想要的格式符合特定的語言環境。

在這裏,你想要什麼來接近一個例子:

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.UK); 
System.out.println(df.format(date)); 

編輯:而爲了擺脫該行集中的日期只是調用

Date date = rs.getDate(4); 

,它將返回日期對象就像你需要它一樣。

0

@Jakub正確提到。您可以輕鬆地使用java.text.SimpleDateFormat

java.util.Date today=new java.util.Date(); 
SimpleDateFormat format=new SimpleDateFormat("dd MMM yyyy"); 
System.out.println(format.format(today)); 

我已經用它來格式化今天的日期做。您可以從數據庫中以類似的方式檢索日期。但請記住,如果您使用rs.getDate()它將返回您java.sql.Date。因此,你可以繼續。