[英]Converting String to Date using SimpleDateFormat
我正在從user接收String輸入,我想將其轉換為java.util.Date實例並使用SimpleDateFormat
將其打印為特定方式。它不是以指定的方式打印。
try { Date date1;
date1 = new SimpleDateFormat("MM/dd/yy").parse("05/18/05");
System.out.println(date1);
}
catch (ParseException e) {
e.printStackTrace();
}
您需要先格式化日期,然后再打印出來,否則使用Date
的默認格式
try {
Date date1;
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yy");
date1 = format.parse("05/18/05");
System.out.println(format.format(date1));
}
當你做
System.out.println(date1);
在內部,該方法正在調用
date1.toString();
並打印其結果。 Date#toString()
實現如下
public String toString() {
// "EEE MMM dd HH:mm:ss zzz yyyy";
BaseCalendar.Date date = normalize();
StringBuilder sb = new StringBuilder(28);
int index = date.getDayOfWeek();
if (index == gcal.SUNDAY) {
index = 8;
}
convertToAbbr(sb, wtb[index]).append(' '); // EEE
convertToAbbr(sb, wtb[date.getMonth() - 1 + 2 + 7]).append(' '); // MMM
CalendarUtils.sprintf0d(sb, date.getDayOfMonth(), 2).append(' '); // dd
CalendarUtils.sprintf0d(sb, date.getHours(), 2).append(':'); // HH
CalendarUtils.sprintf0d(sb, date.getMinutes(), 2).append(':'); // mm
CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss
TimeZone zi = date.getZone();
if (zi != null) {
sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz
} else {
sb.append("GMT");
}
sb.append(' ').append(date.getYear()); // yyyy
return sb.toString();
}
結果為您看到的Date
字符串。
它沒有以指定的方式打印。
System.out.println(date1); // no format given, using the default format
您未指定方式。 日期沒有解析格式的歷史記錄。 如果需要格式,則需要使用SimpleDateFormat.format()
嘗試這個
try {
SimpleDateFormat sdin = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdout = new SimpleDateFormat("yyyy-MMM-dd");
Date date = sdin.parse("2013-05-31");
System.out.println(sdout.format(date));
} catch (ParseException ex) {
Logger.getLogger(TestDate.class.getName()).log(Level.SEVERE, null, ex);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.