Pro*_*Rev 1 java date string-formatting systemtime simpledateformat
我想得到当前系统时间,然后通过格式化程序解析它SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");.
我.... error : java.text.ParseException: Unparseable date: "Tue Jan 13 17:05:51 PST 2015"在下面的方法中使用:
public static void currentSystemTime() {
Calendar calendar = new GregorianCalendar();
try {
System.out.println(format.parse(calendar.getTime().toString()));
} catch (ParseException ex) {
Logger.getLogger(DateDifference.class.getName()).log(Level.SEVERE, null, ex);
}
}
Run Code Online (Sandbox Code Playgroud)
如何以匹配的文字格式获取系统时间SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");?
您希望将当前时间(a Date)格式化为String但DateFormat.parse(String)相反.
使用DateFormat.format(Date)你想要达到的目标:
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println(sdf.format(new Date()));
Run Code Online (Sandbox Code Playgroud)
注意:
构造函数new Date()分配一个Date对象并初始化它,以便它表示分配它的时间,测量到最接近的毫秒.所以不需要用来Calendar获得当前时间.
替代方案:
该format()方法有多个重载SimpleDateFormat,其中一个采用一般Object参数:
这也接受格式化日期/时间作为Long自1970年1月1日00:00:00 GMT以来的毫秒数.所以以下也可以在不创建Date实例的情况下工作:
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println(sdf.format(System.currentTimeMillis()));
Run Code Online (Sandbox Code Playgroud)