我需要将 NSDate 设置为 iPhone 应用程序的特定日期、时间和时区。
下面的示例代码在 iOS 4 上运行良好,因为 setTimeZone 是在 iOS 4 中引入的。如何在不使用 setTimeZone 的情况下轻松将 NSDate 设置为日期、时间和时区,以便它可以在 iOS 3.0 设备上使用?
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:2010];
[comps setMonth:8];
[comps setDay:24];
[comps setHour:17];
[comps setMinute:5];
[comps setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"] ];
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *referenceTime = [cal dateFromComponents:comps];
我猜这应该很简单,但不知何故,NSDate、组件和日历和我不是好 friend ......
最佳答案
我想知道您是否可以在用于从 NSDateComponents
创建 NSDate
的 NSCalendar
对象上设置时区。我没有尝试过,也不知道它是否有效,但可能值得一试。
关于iphone - 将 NSDate 设置为特定日期、时间和时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655616/