如何在Java中转换为时间戳格式



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

不,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));

相关内容

  • 没有找到相关文章

最新更新