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,系统会自动转成格林尼治时间

你可能感兴趣的:(objective)