【问题标题】:How to convert the Date String with time zone to NSDate如何将带时区的日期字符串转换为 NSDate
【发布时间】:2012-05-13 09:14:46
【问题描述】:

如何将日期字符串“2012-05-03 06:03:00 +0000”转换为 NSDate。我使用下面的代码,但它不起作用:

NSDateFormatter *datFormatter = [[NSDateFormatter alloc] init];
[datFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate* date = [datFormatter dateFromString:dateStr];

【问题讨论】:

    标签: iphone objective-c nsdate


    【解决方案1】:
      NSString *dateStr = @"2012-05-03 06:03:00 +0000";
      NSDateFormatter *datFormatter = [[NSDateFormatter alloc] init];
      [datFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
      NSDate* date = [datFormatter dateFromString:dateStr];
      NSLog(@"date: %@", [datFormatter stringFromDate:date]);
    

    此代码打印date: 2012-05-03 09:03:00 +0300

    它有效。另外不要忘记设置您要定位的日期格式化程序的时区

    【讨论】:

    • 这样datFormatter.timeZone = [NSTimeZone localTimeZone];
    【解决方案2】:

    可以这样:-

    NSDateFormatter *datFormat = [[NSDateFormatter alloc] init];
    [datFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Yout TimeZone"]];
    [datFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
    NSString *string = @"2012-05-03 06:03:00 +0000";
    NSDate* date = [datFormat dateFromString:string];
    

    【讨论】:

      猜你喜欢
      • 2014-09-06
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      相关资源
      最近更新 更多