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

2018-08-10  本文已影响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];

上一篇 下一篇

猜你喜欢

热点阅读