不正确的结果在String到date转换java

时间:2016-08-27 20:13:01

标签: java android datetime

我正在尝试将字符串形式的日期转换为日期

我的代码:

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")

2 个答案:

答案 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