将数据转换转换为纪元(包括GMT或UTC)

时间:2012-09-01 18:46:02

标签: java parsing timestamp

我希望将时间戳转换为纪元(自1970年以来的毫秒数) - java。

我想要一个广泛的解析器 - 支持GMT / UTC和perheps其他格式。 例如:

new DateStamp("yyyy-MM-DD HH:mm:ss,ccc o").parse("2012-09-01 13:44:21222 GMT+2")

也就是说,我不想把我自己的实际格式(GMT / UTC),而是留给解析器。

1 个答案:

答案 0 :(得分:2)

您可以使用SimpleDateFormat

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,S Z");
Date date = df.parse("2012-09-01 13:44:21,222 GMT+2:00");
long time = date.getTime(); // milliseconds since epoch

对于ISO 8601时区:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,S Z");
Date date = df.parse("2012-09-01 13:44:21,222 +02");