美文网首页
NSDate与NSString相互转化,有8小时时差

NSDate与NSString相互转化,有8小时时差

作者: 小星星灬 | 来源:发表于2018-08-10 16:47 被阅读63次

    iOS默认的NSDate是格林尼治时间,比中国时区的时间少8个小时,处理过日期的都知道8个小时的误差存在,我们在获取年月日的时候不要加上8个小时,iOS系统会自动帮我们自动加上八个小时。获取所有的(yyyy-MM-dd HH:mm:ss.SSS)需要加上8小时

    1.时间格式的字符串转date

    NSString *birthdayStr=@"1986-03-28 00:00:00.000";

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];

    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];//解决8小时时间差问题

    NSDate *birthdayDate = [dateFormatter dateFromString:birthdayStr];

    2.date转字符串

    NSDate *date = [NSDate date];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    NSString *strDate = [dateFormatter stringFromDate:date];

    相关文章

      网友评论

          本文标题:NSDate与NSString相互转化,有8小时时差

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