2016-09-27T06:07:56.100Z 这个时间戳跟常见时间戳不同的是 多了一个 000Z。
首先是UTC:时间标准时间
协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。
然后是GMT:格林尼治时间
世界时UT 即格林尼治时间,格林尼治所在地的标准时间。以地球自转为基础的时间计量系统。地球自转的角度可用地方子午线相对于地球上的基本参考点的运动来度量。为了测量地球自转,人们在地球上选取了两个基本参考点:春分点(见分至点)和平太阳,由此确定的时间分别称为恒星时和平太阳时。
然后下面是GST时间:也就是北京时间
通常我们在数据库中存放,或者给用户看的时间都是GST时间
现在我们说说上面的时间
2016-09-27T06:07:56.100Z
首先字母T:它表示后面跟的时间
而最末尾的Z表示UTC统一时间
而100表示的毫秒,大家可以测试将100改为1000,最后得到的时间,秒会增加1秒
网上很多人在搜索000Z是什么意思,其实他的意思就是 0毫秒 utc统一时间
既然我们知道了Z表示UTC统一时间,那么接下来就好办了
UTC 通用标准时,以z来标识。这样就清楚了。我们把z用UTC替换掉即可。注意替换的时候UTC前面要加空格
NSString *timeStr = @"2016-09-27T06:07:56.000Z";
NSString *utcStartTime = [str stringByReplacingOccurrencesOfString:@"Z" withString:@" UTC"]; // 空格+UTC
这时 timeStr 的时间格式可以表示为 : yyyy-MM-dd'T'HH:mm:ss.SSS Z
现在想转化为什么样的时间格式都可以了。