我从我的应用程序中获得以下日期格式。
07/18/2011/04/45/EDT
我将其子串到“07/18/2011/04/45”和“EDT”。
使用以下代码我撰写日期。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy/HH/mm"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EDT"]];
NSDate *currentServerDate = [dateFormatter dateFromString:formattedDateString];
NSLog(@"currentServerDate %@",currentServerDate);
然而,当我打印NSDate(使用上面的格式编辑器创建)时,它打印为“2011-07-18 14:15:00 +0530”,其中+0530是我的时区。我需要编写相对于EDT时区的内容。我该怎么做?
谢谢
答案 0 :(得分:3)
我认为时区可能不是你想象的那样。尝试记录timeZoneWithAbbreviation:返回的时区,并查看它告诉您的内容。另外,请查看我链接到的文档:
通常,不鼓励使用缩写,但“UTC”或“GMT”等唯一实例除外。时区缩写不是标准化的,因此给定的缩写可能有多种含义 - 例如,“EST”指的是美国和澳大利亚的东部时间
答案 1 :(得分:0)
默认情况下,NSDate
的{{1}}方法会在GTM中显示您系统的区域设置偏移量的日期。如果您希望使用description
使用NSDate
,请使用以下方法之一:
NSLog