2013-05-10 152 views
0

我有一個日期值作爲星期五Feb 15 19:43:05東部時間2013年 我可以將它轉換爲2013-02-15 07:43:05作爲字符串。 現在我需要獲取此String的日期對象。我試着用Groovy/Grails的使用SimpleDateFormat的,但它只是返回原值:週五02月15日7時43分05秒EST 2013Grails解析日期

我這樣做的方式是:

String dateCreated = dateValue.format("yyyy-MM-dd hh:mm:ss") 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") //required format 
Date newDate = sdf.parse(dateCreated) 

誰能幫助我?

+0

你的意思是'返回原始值'? – 2013-05-10 18:01:35

+0

是不是你的'dateCreated'包含所需格式的值?爲什麼你要將它轉換兩次? – 2013-05-10 18:02:28

+0

它是所需的格式,但在字符串中。我有數據庫表的列類型日期,它需要去,我需要它日期格式進一步日期比較。 – 2013-05-10 18:14:21

回答

0

如果你有Date實例,你只需要:

Date dateValue = ... 
String dateCreated = dateValue.format("yyyy-MM-dd hh:mm:ss") 

dateCreated將包含類似2013-02-15 07:43:05值。你不需要做任何事情

+0

亞,但我需要它在日期類型,因爲我必須將其插入數據庫表中的列是類型日期... – 2013-05-10 18:15:10

+0

插入它作爲日期本身,你不需要在這種情況下將其轉換爲任何格式。 JDBC,Hiberante,GORM支持日期 – 2013-05-10 18:20:04

+0

這也是我所認爲的。但它只是插入當前系統日期... – 2013-05-10 18:44:38

1

如果你想要沒有時區的日期我建議你看看Joda-Time APIThere's a plugin for Grails

看看LocalDateLocalDateTime,你可以構造它們傳遞分隔值(年,月,日,小時,秒)。

+1

雖然你可以在沒有Joda的情況下做到這一點,但是使Joda成爲處理日期和時間的標準方式所帶來的價值是無價的。 – 2013-05-13 02:28:24