objectiveC获取本地时间。

        NSDate * date = [NSCalendarDate date];

        NSLog(@"%@", date);

日历在IOS里报错,,。

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    [formatter setDateFormat: @"yyyy-MM-dd hh:mm:ss"];

    NSString *curDate = [formatter stringFromDate: self.datePicker.date];

 

不用去设置datePicker.date的值,取的时候按上面方法取即可。。

    NSDate *selected = [self.datePicker date];//这样取错误。

一些时间本地化的代码。

 NSDate *date1 = [NSDate date]; //格林尼治时间
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZ"];
    NSString *dateString =[formatter stringFromDate:date1]; //dateString 为当地时间(东八区时间)的字符串
     
    NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
    NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"CST"];
    [formatter1 setTimeZone:zone];
    [formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZ"];
    NSDate *date2 = [formatter1 dateFromString:dateString];//date2 为当地时间(东八区时间)的NSDate实例
     
    NSLog(@"date1 is %@",dateString); //打印时用dateString,如果用date2,系统会自动转成格林尼治时间
原文地址:https://www.cnblogs.com/guanliyang/p/3797772.html