2013-02-06 55 views
0

我有一個日期對象myDate(說)。 執行以下之後:設置日期對象Java

Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.MONTH, 9); 
cal.set(Calendar.DATE, 24); 
cal.set(Calendar.YEAR, 2013); 
cal.set(Calendar.HOUR,13); 
cal.set(Calendar.MINUTE,45); 
cal.set(Calendar.SECOND,52); 

我想將數值指明MyDate對象設定爲上述的值,並因此顯示瞭如下的輸出。

Mon Sep 09 13:45:52 PST 2013 

請讓我知道如何做到這一點。

+4

您需要使用[SimpleDateFormat的類](http://docs.oracle.com/javase/7/ docs/api/java/text/SimpleDateFormat.html) – Smit

回答

2
import java.util.*; 

public class DateTest { 
    public static void main(String[] args) { 
     Date myDate; 
     Calendar cal = Calendar.getInstance(); 
     cal.set(Calendar.MONTH, 9); 
     cal.set(Calendar.DATE, 24); 
     cal.set(Calendar.YEAR, 2013); 
     cal.set(Calendar.HOUR,13); 
     cal.set(Calendar.MINUTE,45); 
     cal.set(Calendar.SECOND,52); 
     myDate = cal.getTime(); 
     System.out.println(myDate); 
    } 
} 
+3

OP希望九月,而不是十月。 –

0

你可以寫:

myDate.setTime(cal.getTimeInMillis()); 
1

的屬性月份開始一月=零。爲什麼哦爲什麼Sun做出這種反直覺的事情,我不知道。

 
import java.util.*; 

public class DateTest { 
    public static void main(String[] args) { 
     Date myDate; 
     Calendar cal = Calendar.getInstance(); 
     cal.set(Calendar.MONTH, 8); 
     cal.set(Calendar.DATE, 24); 
     cal.set(Calendar.YEAR, 2013); 
     cal.set(Calendar.HOUR,13); 
     cal.set(Calendar.MINUTE,45); 
     cal.set(Calendar.SECOND,52); 
     myDate = cal.getTime(); 
     System.out.println(myDate); 
    } 
} 

另一個考慮,輸出有一個時區 - 如果你想Java安裝的時區,沒有probs。如果你想PST 和Java時區默認是別的地方,然後用下面的構造函數:

TimeZone timezone = TimeZone.getTimeZone("America/Los_Angeles"); 
Calendar cal = Calendar.getInstance(timezone); 
+0

非常感謝您共享信息,以便在創建日期對象時設置時區。 –