我有一个NSDate
(让我们称之为x
),12 September, 2012 10:18PM (GMT)
。我想将x
转换为当前时区(EST)午夜之前的一分钟。因此,转换后用EST
表示在NSDateFormatter
中的x将是12 September, 2012 11:59PM (EST)
。最好的方法是什么?
谢谢
最佳答案
看看NSDateComponents:https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSDateComponents_Class/Reference/Reference.html
我相信您需要将NSDate转换为NSDateComponents,将时间设置为11:59 PM,然后再转换回NSDate。
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:date];
[components setHour:23];
[components setMinute:59];
NSDate *convertedDate = [calendar dateFromComponents:components];
NSLog(@"date=%@, convertedDate=%@", date, convertedDate);
关于objective-c - 转换NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12396936/