java - java映射字符串到不同日期格式

63 5

我有一个需求,我必须将我的值从传入请求映射为任何格式的日期的json 。 例如,在我的请求中,可以将日期字符串作为以下格式之一:


 1. 03/22/1990 -- MM/dd/yyyy


 2. 03/22/1990 12:34:45 


 3. 03/22/1990 12:23 AM 



如何将传入映射值映射到日期。

时间:

74 5

你提到的三种格式可以通过正规表达式很容易地得到帮助。 例如 Pattern dd/dd/dddd dd:dd:dd 将匹配示例中的第二个字符串,但不匹配其他两个字符串。

然后,你可以将SimpleDateFormatter与已识别的格式一起使用。 例如,


SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 


Date date =formatter1.parse(dateString);



原作者:
85 3

我建议你可以使用JodaTime库来实现这个

可以使用多个解析器,并使用 DateTimeFormatterBuilder.append 方法将它们添加到生成器中:


DateTimeParser[] parsers = { 


 DateTimeFormat.forPattern("MM/dd/yyyy" ).getParser(),


 DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss" ).getParser(),


 DateTimeFormat.forPattern("MM/dd/yyyy HH:mm tt" ).getParser() 


};


DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers ).toFormatter();



DateTime date1 = formatter.parseDateTime("03/22/1990" );


DateTime date2 = formatter.parseDateTime("03/22/1990 10:34:11" );



...