Java如何将时间字面值转换为长值?

时间:2013-01-25 19:46:49

标签: java date

如果我有一个时间(String)以下列格式进入我的班级

2013-01-25T07:31:51.00Z

如何将其变成长篇?

我甚至不知道将什么格式放入DateFormat。其他人有线索吗?

DateFormat formatter = new SimpleDateFormat(" MMM yyyy HH:mm:ss z");

期望的结果

long time = changeMe("2013-01-25T07:31:51.00Z");

System.out.print(time);

//012432423  <-- But only the actual long

2 个答案:

答案 0 :(得分:6)

这里看起来有格式。试试这个:

import javax.xml.bind.DatatypeConverter;

public long changeMe(String isoTimestamp) {
  final Calendar c = DatatypeConverter.parseDateTime(isoTimestamp);
  return c.getTimeInMillis();
}

如果您愿意,BTW c.getTime()会返回Date个对象。

另见:

答案 1 :(得分:1)

使用优秀的jodatime库:

DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
long time = fmt.parseDateTime("2013-01-25T07:31:51.00Z").getMillis();