2011-08-17 22 views
0

我得到輸入作爲一些日期/時間以小時(整數)例如:2小時 我想以yyyyMMddHHmmss格式將此輸入小時添加到系統日期。我怎樣才能做到這一點?java將小時添加到系統日期和yyyyMMddHHmmss格式

+1

你什麼意思,你想分析'yyyyMMddHHmmss'格式?你確定你不是說你想要以這種格式輸出嗎? –

+1

*解析*或*格式*?系統日期不是以文本形式開始的,因此您的問題有點令人困惑......噢,您需要系統時區還是UTC? –

+0

抱歉它是格式。 – TechFind

回答

9

你可以做這樣的事情(假設你的意思格式而不是解析):

int hoursToAdd = 2; //or from input 
Calendar calendar = Calendar.getInstance(); 
calendar.add(Calendar.HOUR, hoursToAdd); 
System.out.println(new SimpleDateFormat("yyyyMMddHHmmss").format(calendar.getTime())); 
+1

使用HOUR_OF_DAY – DwB

+0

@DwB:如果使用'add',那麼這是相關的嗎?無論是12小時還是24小時的時鐘,當它是您指定的三角洲時,似乎都不相關,而不是絕對的時間。我認爲'HOUR'會工作得很好。 –

+0

好的。你是對的。我只是在java 1.6上測試它;在HOUR和HOUR_OF_DAY中添加和滾動工作相同。我的應用程序中的 – DwB

1

使用joda-time庫:

System.out.println(DateTimeFormat.forPattern("yyyyMMddHHmmss") 
           .print(new DateTime().plusHours(2))); 
+0

我們無法使用此API。沒有jar和現有的應用程序。 – TechFind