2016-06-09 25 views
0

我想將格式化的時間戳傳遞給使用日曆(使用Java 1.6.0_22)的方法。我有這個簽名的方法:Java通過格式化日曆對象方法

public void setTimestamp(Calendar param0); 

要獲得時間戳,我這樣做:

Calendar cal = Calendar.getInstance(); 
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_WEEK), 
     cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND)); 

我想它格式化這樣:

yyy-MM-ddTHH:mm:ss 

然後將它傳遞給方法。我無法改變方法,因爲我沒有做到這一點。我怎樣才能做到這一點?

+0

爲什麼不只是'新的SimpleDateFormat(「yyy-MM-ddTHH:mm:ss」).format(calendar.getTime())'? –

+0

我嘗試過像那樣傳遞,但該方法不會接受它。編譯器錯誤。 –

+0

什麼是錯誤?缺少'import java.text.SimpleDateFormat;'?順便說一句,格式應該變成'yyy-MM-dd'T'HH:mm:ss' –

回答

1

您需要將字符串轉換爲Date,然後將其設置爲Calendar

String input = "2016-05-11T14:44:09"; 
    java.util.Date date = new java.text.SimpleDateFormat("yyy-MM-dd'T'HH:mm:ss").parse(input); 
    Calendar cal = Calendar.getInstance(); 
    cal.setTime(date); 
    obj.setTimestamp(cal); 
+0

非常感謝!這很好。 –