android java转换时间戳2012-11-13T18:38:30Z到很久以前

时间:2012-11-15 02:24:19

标签: java android timestamp

当我调用youtube API时,它会返回以下时间戳:

2012-11-13T18:38:30Z

我需要根据当前时间和上面的时间戳来计算'时间'。 所以,使用上面的时间戳和当前时间,我应该得到类似6天前的东西等等。

我需要在android中转换它,所以任何android或java的答案都可以提供帮助。

似乎有一个函数可以计算时间,但你需要先将2012-11-13T18:38:30Z转换为毫秒或秒,或其他什么

我的问题是,在java中,你如何将2012-11-13T18:38:30Z转换成可以给我秒,天或其他什么的其他东西。

4 个答案:

答案 0 :(得分:0)

使用SimpleDateFormat类创建Date对象,然后使用getTime()以毫秒为单位获取它。

尝试使用Google,您将获得大量示例。

答案 1 :(得分:0)

你的意思是从日期到长期的转换?

这可能会有所帮助

http://www.roseindia.net/java/java-conversion/DateToLong.shtml

答案 2 :(得分:0)

您无法将其转换为毫秒,只能将其指定为

答案 3 :(得分:0)

使用此模式解析时间戳。

yyyy-MM-dd'T'HH:mm:ssZ

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
java.util.Date parsedTimeStamp = format.parse("2012-11-13T18:38:30Z");
long videoTime = parsedTimeStamp.getTime();

我已经告诉了你第一部分,不幸的是,我的时间很少,所以你可以自己完成下一步:(我稍后会添加代码。) videoTime将为您提供以毫秒为单位的视频时间。您可以使用当前时间 long systemTime = System.currentTimeMillis()/1000减去这两个,并转换减法的结果以获得差异。

Calender c1 = Calender.getInstanec().setTime(new Date(videoTime));
Calender c2 = Calender.getInstanec().setTime(new Date(systemTime));

使用此日期创建两个日历,并使用日历方法,您可以找到日期和日期之间的差异。