是否可以获取具有特定格式的java.util.Date对象?
我想问一下java.util.Date的用法。 这是我的示例课程
public class DateConverter { public static void main(String[] args) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy"); Date today = new Date(); String dateAsString_format = simpleDateFormat.format(today); System.out.println("Formatted Date String (String datatype): " + dateAsString_format); Date parsedDate = null; try { parsedDate = simpleDateFormat.parse(dateAsString_format); } catch (ParseException e) { e.printStackTrace(); } System.out.println("Parse Date (Date datatype): " + parsedDate); } }
我的输出是
Formatted Date String (String datatype): 06/10/2013 Parse Date (Date datatype): Sun Oct 06 00:00:00 MMT 2013
但我想得到以下输出
Formatted Date String (String datatype): 06/10/2013 Parse Date (Date datatype): 06/10/2013
是否可以使用特定格式获取Date对象?
是否可以使用特定格式获取Date对象?
不。 Date
没有任何格式。 它表示自纪元以来的毫秒数。 您只能使用SimpleDateFormat
获取格式化的字符串,您已经这样做了。
打印Date
调用重写的Date#toString()
方法,该方法使用默认格式,其中每个Date
都打印出来。
这是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; } .... // some more code }
所以使用的格式是"EEE MMM dd HH:mm:ss zzz yyyy"
是的,扩展Date
添加格式字段并覆盖toString
方法,类似于
public class DateWithFormat extends Date { String format; // Assign as appropriate public String toString() { return new SimpleDateFormat(format).format(this)); } }