我正在尝试将字符串形式的日期转换为日期
我的代码:
String dtStart = passedDate+" "+passedTme; // here my time is : 28/08/16 2:00 pm
System.out.println(dtStart);
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm a");
try {
Date date = format.parse(dtStart);
System.out.println(date); // and result output is : Fri Aug 28 00:00:00 GMT+05:30 16
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以上是28/08/16 2:00 pm
并返回Fri Aug 28 00:00:00 GMT+05:30 16
。
任何人都可以指出为什么我的输出在这里不正确?
解决
所需格式为:SimpleDateFormat("dd/MM/yy h:mm a")
。
答案 0 :(得分:2)
任何人都可以指出为什么我的输出在这里不正确
您设置了yyyy
,但是您通过了16
一年。要么通过4位数年份,要么修复你的模式。
答案 1 :(得分:0)
首先,了解输出需要哪种格式会有所帮助,但这里有一个示例列表
Date and Time Pattern Result
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" 2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u" 2001-W27-3
您可以阅读更多相关信息here