簡體   English   中英

陽歷日歷

[英]GregorianCalendar constant date

好的,我想讓程序打印出日期:1/1/2009

但這是它輸出的內容:

2009年1月1日星期四,美國東部時間00:00:00

從此代碼

GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart()
{
    startDate.setLenient(false);
    Date date = new Date(startDate.getTimeInMillis());
    System.out.println(date);
}

如何更改它以便僅打印1/1/2009?

使用SimpleDateFormat

GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart() {
  startDate.setLenient(false); 
  DateFormat df = new SimpleDateFormat("d/M/yyyy");
  df.format(startDate.getDate());
}

您在隱式調用toString()方法,該方法正在(正確)打印出完整的內容。

順便說一句,您無需按照自己的方式構造日期。 Calendar上調用getDate()返回Date對象。

當前,正在調用Date.toString()方法以顯示GregorianCalendar實例的String表示形式。

需要做的是創建一個DateFormat ,它將產生所需的String表示形式。 DateFormat對象可用於使用format方法將Date實例格式化為所需的format

實現所需目標的最簡單方法是使用SimpleDateFormat類,該類具有構造函數 ,該構造函數采用格式字符串以所需形式輸出Date

Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));

產量

1/1/2009

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM