android java将时间戳2012-11-13T18:38:30Z转换为时间前

android java将时间戳2012-11-13T18:38:30Z转换为时间前,java,android,timestamp,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转换为其他可以给我秒、

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

2012-11-13T18:38:30Z
我需要根据当前时间和上述时间戳计算“时间前”。 所以,使用上面的时间戳和当前时间,我应该得到6天前的数据,等等

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

似乎有一个函数可以计算时间,但您需要首先将2012-11-13T18:38:30Z转换为毫秒或秒,或者其他任何形式


我的问题是,在java中,如何将2012-11-13T18:38:30Z转换为其他可以给我秒、天或任何时间的东西。

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


试试谷歌,你会得到很多例子。

你是说从日期转换为长时间

这可能会有帮助


您不能将其转换为毫秒它只指定为

使用此模式解析时间戳

yyyy-MM-dd'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
。将这两者相减,然后将减法结果转换为差值


使用此日期创建两个日历,使用日历方法,您会发现日期之间的天数和月份差异。

否,我的意思是将字符串“2012-11-13T18:38:30Z”转换为任何内容,只要我可以提取msNo,示例没有帮助,我已经搜索了一段时间,它们都不起作用,我正在将这个特定字符串2012-11-13T18:38:30Z转换为任何值,只要我能提取毫秒值,你的问题不是很清楚。你能换个说法吗?转换成秒是什么意思?请花些时间编辑并使问题清晰明了。谢谢。我刚刚做了,请告诉我您是否清楚。但是java.util.Date parsedTimeStamp=format.parse(“2012-11-13T18:38:30Z”);抛出一个异常,说它是不可解析的日期我刚才搜索过,所以它以前已经被回答过了。看一看:
Calender c1 = Calender.getInstanec().setTime(new Date(videoTime));
Calender c2 = Calender.getInstanec().setTime(new Date(systemTime));