如何使用SimpleDateFormat设置日期格式
我无法设置日期格式。
dateFormat.format()
接受Date
作为参数。因此我创建了一个新的Date()
它显示以下Date()方法已弃用,并且我在运行时出现以下异常。
异常:
Exception in thread "main" java.lang.IllegalArgumentException at
java.util.Date.parse(Date.java:598)
public class MyDate {
public static void main(String[] args) {
Date date = new Date("2012-02-16T00:00:00.000-0500");
SimpleDateFormat dateFormat = new SimpleDateFormat(
"dd-MMM-yyyy HH:mm:ss");
String stringDate = dateFormat.format(date);
System.out.println(stringDate); // how do I test this conversion??
}
}
我的数据库日期格式为-2012-02-16T00:00:00.000-0500
我需要将其转换为以下格式的字符串:DD-MMM-yyyy hh:mm:ss
我正在使用Java6
解决方案
如果您想读入日期"2012-02-16T00:00:00.000-0500",您可能应该使用SimpleDateFormat
parse
,如下所示:
DateFormat parseFormat = new SimpleDateFormat(
"yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = parseFormat.parse("2012-02-16T00:00:00.000-0500");
与您的其余代码一起写道:
16-Feb-2012 05:00:00
SimpleDateFormat
documentation中列出了解析格式模式字母。T
用撇号转义。
此答案假定为Java 7,否则您将使用Java 8中的新date & time API
相关文章