NSDate NSDateFormatter 时间戳

NSDate *date = [NSDate date];//零时区的时间(格林尼治)
本机的时间 减去 本机时区的固定差值算出的UTC时间。所以手动改手机时间的话,结果也会变

//      NSDate *nowDate = [[NSDate alloc] initWithTimeIntervalSinceNow:28800];//北京时间
        
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];东八区
        
        NSString *nowDateStr = [dateFormatter stringFromDate:nowDate];
        NSString *dateStr = [dateFormatter stringFromDate:date];////北京时间字符串

yyyy-MM-dd HH:mm:ss:使用24小时制格式化日期
yyyy-MM-dd hh:mm:ss:使用12小时制格式化日期

使用NSDateFormatter转换时间字符串时,默认的时区是系统时区,例如在中国一般都是北京时间(+8),如果直接转换会导致结果相差8小时,所以一般的做法是先指定时区为GMT标准时间再转换,

时间戳分时区吗:

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NSDate NSDate对象用来表示一个具体的时间点。NSDate是一个类簇,我们所使用的NSDate对象,都是...
    GreenC阅读 16,630评论 0 13
  • longaaaa =14200666; Console.WriteLine(aaaa.ToString("N0")...
    鱼落于天阅读 949评论 0 1
  • iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多...
    小李龍彪阅读 6,429评论 1 6
  • 一、NSDate 1.NSDate对象用来表示一个具体的时间点。 2.NSDate是一个类簇,我们所使用的NSDa...
    hAo_JS阅读 1,112评论 0 1
  • 今天因为赶路,到现在还没有写。而且不知道自己写啥,心里有点焦虑。一般都会一早写,手写,然后再重新录入。有点麻烦,但...
    何偀阅读 182评论 0 2