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 

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

时间:原作者:0个回答

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" );
原作者:
...