0

我以“1/23/2013 6:57:17 AM”格式获取日期时间,需要将其转换为“2012-01-01T12:00:00”格式。我可以通过使用字符串函数并分离日期和时间并单独处理它们来解决这个问题。但问题是日期格式是 M/D/YYYY 甚至时间只有 h:mm:ss 这意味着我不能假设每个分隔符之前的字符数。我希望有人以前处理过这样的事情。谢谢。

4

1 回答 1

3

不,String功能不是要走的路。

我建议使用两个DateFormat实例:一个用于源格式,另一个用于目标格式。

DateFormat source = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
source.setLenient(false);
DateFormat target = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
target.setLenient(false);
String dateAsString = "1/23/2013 12:00:00 AM";
Date d = source.parse(dateAsString);
System.out.println(target.format(d));
于 2013-03-06T13:27:33.453 回答