当我调用youtube API时,它会返回以下时间戳:
2012-11-13T18:38:30Z
我需要根据当前时间和上面的时间戳来计算'时间'。 所以,使用上面的时间戳和当前时间,我应该得到类似6天前的东西等等。
我需要在android中转换它,所以任何android或java的答案都可以提供帮助。
似乎有一个函数可以计算时间,但你需要先将2012-11-13T18:38:30Z转换为毫秒或秒,或其他什么
我的问题是,在java中,你如何将2012-11-13T18:38:30Z转换成可以给我秒,天或其他什么的其他东西。
答案 0 :(得分:0)
使用SimpleDateFormat类创建Date对象,然后使用getTime()以毫秒为单位获取它。
尝试使用Google,您将获得大量示例。
答案 1 :(得分:0)
答案 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));
使用此日期创建两个日历,并使用日历方法,您可以找到日期和日期之间的差异。