如何在Java中转换为Timestamp格式?

时间:2013-03-06 13:26:09

标签: java string datetime timestamp

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

1 个答案:

答案 0 :(得分: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));