美文网首页iOS开发中填坑工具
日历开发中 奇怪的时间不对应

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

作者: f0b693d9893e | 来源:发表于2017-11-16 10:12 被阅读1次

    有两种方式解决这个问题

    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;

    }

    相关文章

      网友评论

        本文标题:日历开发中 奇怪的时间不对应

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