根据时区创建 NSDate 对象
我从我的应用程序中获得以下日期格式。
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 时区的时间。我该怎么做?
谢谢
I get the following date format from my application.
07/18/2011/04/45/EDT
I sub-string that to "07/18/2011/04/45" and "EDT".
Using the following code I compose a date.
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);
However when I print the NSDate (created using above formattter) it print as "2011-07-18 14:15:00 +0530" where +0530 is my timezone. I need to compose the relative to the EDT timezone. How do I do that?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为时区可能不是你想象的那样。尝试记录 timeZoneWithAbbreviation: 看看它告诉你什么。另外,请查看我链接到的文档,其中显示:
I think the time zone is probably not what you think it is. Try logging the time zone returned by timeZoneWithAbbreviation: and seeing what it tells you. Also, review the documentation I linked to where it says:
默认情况下,
NSDate
的description
方法显示 GTM 中的日期以及系统的区域设置偏移量。如果您希望使用NSLog
来生成NSDate
,请使用以下其中一项:By default
NSDate
'sdescription
method shows date in GTM with your system's locale offset. If you wish to pringNSDate
usingNSLog
use one of following: