【问题标题】:setting default time zone is not successfull设置默认时区不成功
【发布时间】:2013-08-14 06:02:45
【问题描述】:

我使用setDefaultTimezone 设置时区并在UITableview 中显示时间和位置。

我使用下面的代码来设置默认时区

[cell.detailTextLabel setText:[NSString stringWithFormat:@"%@", evnt.location]];
[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithName:evnt.location]];
[cell.textLabel setText:[NSString stringWithFormat:@"%@",[NSDate date]]];

我要做什么?

【问题讨论】:

  • @Tendulkar 现在可以正常工作了...我必须再次检查...
  • 没关系。通过粘贴相同的代码,我不想增加 Stackoverflow 服务器的负载。谢谢。

标签: ios objective-c cocoa-touch uitableview nsdate


【解决方案1】:

使用 NSCalendar 和 setTimeZone 方法。

  NSDate *newDate;
  NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:~              NSTimeZoneCalendarUnit fromDate:[NSDate date]];

  newDate = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
  NSLog(@"newDate: %@", newDate);
  NSLog(@"newDate: %.0f", [newDate timeIntervalSinceReferenceDate]);

新日期:2011-09-09 15:02:09 +0000 新日期:337273330

  [dateComponents setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Sydney"]];
  newDate = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
  NSLog(@"newDate: %@", newDate);
  NSLog(@"newDate: %.0f", [newDate timeIntervalSinceReferenceDate]);

新日期:2011-09-09 00:52:03 +0000 新时间间隔:337222930

 [dateComponents setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Paris"]];
 newDate = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
 NSLog(@"newDate: %@", newDate);
 NSLog(@"newDate: %.0f", [newDate timeIntervalSinceReferenceDate]);

新日期:2011-09-09 08:52:03 +0000 新时间间隔:337251730

【讨论】:

  • 我的定位时间正好是下午 12:10,但返回时间是下午 6:37。
【解决方案2】:

-[NSDate description] 始终以 UTC 格式打印日期。

所以尝试这样做:

NSDate *myDate = [[NSDate date] descriptionWithLocale:[NSLocale systemLocale]];

另外检查以下内容:

NSDate is not returning my local Time zone /default time zone of device

https://stackoverflow.com/questions/13260787/setdefaulttimezone-not-working

Convert UTC NSDate to local Timezone Objective-C

【讨论】:

    猜你喜欢
    • 2012-12-21
    • 2015-07-01
    • 2011-11-21
    • 2012-03-29
    • 2011-07-01
    • 2018-05-23
    • 2018-07-21
    • 1970-01-01
    相关资源
    最近更新 更多