Java 使用SimpleDataFormat将字符串转换为日期
我从用户处获取一个字符串输入,我希望将其转换为java.util.Date实例,并使用Java 使用SimpleDataFormat将字符串转换为日期,java,date,simpledateformat,Java,Date,Simpledateformat,我从用户处获取一个字符串输入,我希望将其转换为java.util.Date实例,并使用SimpleDataFormat以特定方式打印它。它不是以指定方式打印的 try { Date date1; date1 = new SimpleDateFormat("MM/dd/yy").parse("05/18/05"); System.out.println(date1); } catch (Pars
SimpleDataFormat
以特定方式打印它。它不是以指定方式打印的
try { Date date1;
date1 = new SimpleDateFormat("MM/dd/yy").parse("05/18/05");
System.out.println(date1);
}
catch (ParseException e) {
e.printStackTrace();
}
您需要在打印日期之前对其进行格式化,否则将使用
日期的默认格式
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();
并打印其结果<代码>日期#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();
}
这将导致您看到的
日期字符串。您需要在打印日期之前设置日期格式,否则将使用日期的默认格式
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();
并打印其结果<代码>日期#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
字符串
未按指定方式打印
try { Date date1;
date1 = new SimpleDateFormat("MM/dd/yy").parse("05/18/05");
System.out.println(date1);
}
catch (ParseException e) {
e.printStackTrace();
}
您没有指定一种方式。该日期没有其解析格式的历史记录。如果需要格式,则需要使用SimpleDataFormat.format()
未按指定方式打印
try { Date date1;
date1 = new SimpleDateFormat("MM/dd/yy").parse("05/18/05");
System.out.println(date1);
}
catch (ParseException e) {
e.printStackTrace();
}
您没有指定一种方式。该日期没有其解析格式的历史记录。如果您想要一种格式,您需要使用SimpleDataFormat.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);
}
试试这个
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);
}
format方法将最终生成字符串format@Sanjana日期
没有格式。您的日期在date1
中。您需要对它进行格式化,以便按照您的需要显示它。format方法最终将生成字符串。我需要java.util.date和MM/dd/yy中的输出format@Sanjana日期
没有格式。您的日期在date1
中。您需要对其进行格式化,以便根据需要显示它。