iOS时区的问题记录

NSCalendar *calendar = [NSCalendar currentCalendar];

NSCalendarUnit unit = NSCalendarUnitDay;

NSDateComponents*currentDC = [calendarcomponents:unitfromDate:self];

使用的是系统时区,当手机设置的时区不同时,返回的dateComponents也不同,因此造成日期显示错误。

例:

当传入的date同为:2020-08-10 16:00:00 +0000

系统时区A檀香山,返回的day为10

系统时区B中国大陆,返回的day为11


NSCalendar *calendar = [NSCalendar currentCalendar];

修改calendar的时区

calendar.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];

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