美文网首页
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