怎样做公司网站推广,企业官网源码免费,网站建设设计软件,查询网 网站查询从不浪费时间的人#xff0c;没有工夫抱怨时间不够。 —— 杰弗逊第一句话#xff1a;时间戳时间不分东西南北、在地球的每一个角落都是相同的。他们都有一个相同的名字#xff0c;叫时间戳。时间戳 指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、PO…从不浪费时间的人没有工夫抱怨时间不够。 —— 杰弗逊第一句话时间戳时间不分东西南北、在地球的每一个角落都是相同的。他们都有一个相同的名字叫时间戳。时间戳 指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、POSIX时间(POSIX time)是一种时间表示方式定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。关于 时间戳 你可以看在线时间戳第二句话时区时间戳 在地球的每一个角落都是相同的但是在相同的时间点会有不同的表达方式所以有了另外一个时间概念叫时区。这里的时区与地区不是同一个概念例如我们所在的时区叫 东八区 。在设备中,可以自己手动的切换当前的系统时区:时区设置你会发现当你选在不同的时区你的当前时间是不一样的。第三句话时间戳与时区在Code中应用一、时间戳 是不会跟着 时区 的改变而改变可以用代码来证明这一点- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {// 系统时区NSTimeZone* timeZone [NSTimeZone systemTimeZone];NSLog(系统当前的时区: %, timeZone.name);// 返回的单位是 秒NSTimeInterval timeInterval [[NSDate date] timeIntervalSince1970] ;NSLog(当前时间戳:%f, timeInterval);}你会发现不管怎么切换时区时间戳总是一致。可以实时的参照在线时间戳进行验证。二、不同 时区 间的时间切换这个需求并不是空穴来风在很多的app中都会用到的。比如根据服务器返回的时间与当前时间进行一个比较这里就会有多种可能性主要体现在服务器返回时间的方式比如直接返回一个固定时间的字符串比如2017-06-14 22:55:23。然后接口的同事告诉你这个是 东八区 时间。让你自己转成当前 时区 的时间。1、将当前 时区 的时间转成不同 时区 的时间不管当前设备的 时区 在什么地方,都将其转成 东八区 的时间格式。代码如下- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {// 系统时区,默认就是当前的时区NSTimeZone* timeZone [NSTimeZone systemTimeZone];NSLog(系统当前的时区: %, timeZone.name);// 获取当前时间NSDate* date [NSDate date];// 时间格式NSDateFormatter * dateFormatter [[NSDateFormatter alloc]init];[dateFormatter setDateFormat:yyyy-MM-dd HH:mm:ss];NSString* now [dateFormatter stringFromDate:date];NSLog(系统当前时间显示: %, now);// 将时区设置成 东八区[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8*3600]];// 设置后的时间显示now [dateFormatter stringFromDate:date];NSLog(东八区的当前时间显示: %, now);}打印结果如下:打印完美结果2、2017-06-08T11:29:29.209Z当有一天你发现服务器返回这样的时间请不要束手无策因为这个时间格式就已经明确的将时区也告诉你了你只需要这样做就能随时随地的转成当前时区的时间格式- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {// 时间字符串 (带有时区信息)NSString* timeTEXT 2017-06-08T11:29:29.209Z;// 对应时间格式NSString* formateTEXT yyyy-MM-ddTHH:mm:ss.SSSZ;NSDateFormatter *dateFormatter [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:formateTEXT];// 获取当前对应时区的时间NSDate* curDate [dateFormatter dateFromString:timeTEXT];NSLog(对应当前时区的时间: %, curDate);}上面的代码,没有看到有 时区 间的切换但是是正确的。因为timeTEXT已经自带时区 信息。然而 NSDateFormatter 对象默认是当前设备的 时区。所以 curDate 就是当前设备的时间。3、想了一下没有其它的需要补充了都太简单。谢谢