美文网首页专注iOS开发工具癖IOS 知识积累
iOS时间的时区转换以及一些方法记录

iOS时间的时区转换以及一些方法记录

作者: 那一片阳光 | 来源:发表于2016-09-20 13:54 被阅读5060次

系统的一些方法

    NSTimeInterval timeZoneOffset = [[NSTimeZone systemTimeZone] secondsFromGMT];
    [NSTimeZone systemTimeZone];//系统所在时区  
    [NSTimeZone defaultTimeZone];//默认时区,貌似和上一个没什么区别 
    [NSTimeZone timeZoneForSecondsFromGMT:0];//这就是GMT+0时区了 
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8*60*60]];//直接指定时区,这里是东8区

将时间戳转换成时间

    NSTimeInterval interval = [[NSDate date] timeIntervalSince1970];
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];
    NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
    [objDateformat setDateFormat:@"yyyy-MM-dd HH:mm"];
    self.timeStr = [objDateformat stringFromDate:date];

将0时区时间转换成本地时区的时间

    [formatter setTimeZone:[NSTimeZone systemTimeZone]];

将字符串转换为date

- (NSDate *)stringToDate:(NSString *)strdate
{
    NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *retdate = [dateFormatter dateFromString:strdate];
    [dateFormatter release];
    return retdate;
}

将date转换为字符串

- (NSString *)dateToString:(NSDate *)date
{
    NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *strDate = [dateFormatter stringFromDate:date];
    [dateFormatter release];
    return strDate;
}

相关文章

  • iOS时间的时区转换以及一些方法记录

    系统的一些方法 将时间戳转换成时间 将0时区时间转换成本地时区的时间 将字符串转换为date 将date转换为字符串

  • 时间序列

    时区表示 时区转换 时间跨度转换 时期和时间戳之间的转换

  • moment-timezone的常用方法

    moment-timezone用于做时间时区的附加与转换,比较常用的方法是 给定一个时间,把这个时间加上时区 给定...

  • 搞定Python时区的N种姿势

    全球化应用里经常要对时间点进行时区转换,这里通过将本地时间转换为指定时区时间为例,介绍几种Python处理时区转换...

  • 浅解 JAVA与时区

    时区转换 主要介绍一下 Java 时区转换相关的一些概念,和转换示例。 由于夏令时的存在,应该通过Java 或者 ...

  • 转换时间遇到的坑

    app里因为时区问题,所以需要进行时间转换,下面是我们常用的时间转换的方法遇到的问题:将北京时间2015-12-2...

  • ABAP时间的转换

    SAP数据库表中的时间是根据系统时区存储的,这里需要将时间转换成用户时区。首先获取系统时区: 然后获取用户时区: ...

  • swift日期

    日历 Calendar.Component 指定日期范围 时区 获取已知时区 当前时区名称和缩写 字符串转换成时间...

  • 时间加减、时区转换

    本人只是初学阶段,在学习过程中的一些笔记。想借此平台也分享给刚刚学习的朋友,如有错的地方欢迎各位大神与高手指点。 ...

  • iOS将其他时区转换当前系统时区

    将其他时区转换当前系统时区

网友评论

  • lemon007:字符串转date,出来的是零时区的,能不能自动加上时区?
    我本善良:不管是字符串转date还是date转字符串,中间是通过dateformatter进行转换的,而且转date系统默认是转为UTC格式也就是0时区。自己测试如下:date转字符串的时候,只有设置dateformatter的timezone为UTC才会原样输出字符串,不管手机的时区是否调整;因为不设置默认dateformatter的时区为手机时区,手机时区在中国一般是东八区,所以会自动减8小时。
  • feng_dev:能给 nsdate 直接设置时区吗、 必须要用 dateformatter 才行吗, nsdate date 出来的只能是 格里尼治的时间吗
    那一片阳光:@Developer_峰 用dateformatter比较方便,我之前用了其他的方式转换,其实是复杂化了!系统默认的时间是格里尼治的时间
  • 码痞: [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];//直接指定时区,这里是东8区


    这就是偏移8秒而已啊
    那一片阳光:@码痞 :joy: 多谢指正
    码痞:@那一片阳光 forSecondsFrom唉,

    这里是文档对这个参数的解释
    seconds The number of seconds by which the new time zone is offset from GMT.
    我们用了(8 * 60 * 60) 才返回了正确结果
    那一片阳光:@码痞 8时 吧

本文标题:iOS时间的时区转换以及一些方法记录

本文链接:https://www.haomeiwen.com/subject/kikoettx.html