日历开发中 奇怪的时间不对应

有两种方式解决这个问题

1、转化为当前自己想要的北京时间

//获取本地时区

NSTimeZone *tZone = [NSTimeZone localTimeZone];

//    获取日历

NSCalendar *calendar = [NSCalendar currentCalendar];

//获取系统当前时间

NSDate *currentDate = [NSDate date];

//设置日历的时区

[calendar setTimeZone:tZone];

//取出当前的时分秒

NSDateComponents *currentTime = [calendar components:NSCalendarUnitSecond|NSCalendarUnitMinute|NSCalendarUnitHour|NSCalendarUnitTimeZone fromDate:currentDate];



2、发现从日历中取出的时间日期不对,实际上iOS默认时间是时间(谁让苹果是人家美国公司呢)。当我们把日历取出的时间转化为String类型时,时间就默认为当前北京时间啦

[[Utility dateFormatter] stringFromDate:date];

+ (NSDateFormatter *)dateFormatter

{

static NSDateFormatter *dateFormatter;

if(!dateFormatter){

dateFormatter = [NSDateFormatter new];

dateFormatter.dateFormat = @"yyyy-MM-dd";

}

return dateFormatter;

}

你可能感兴趣的:(日历开发中 奇怪的时间不对应)