[英]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.