iphone - NSString 到 NSDate 转换问题

标签 iphone nsdate

我有一个 NSString 对象,我正在 NSDateFormatter 的帮助下将其转换为 NSDate。现在,代码在所有操作系统上都可以正常工作,但它在客户端添加(美国地区)时创建不同的输出。 这是我正在使用的代码。

NSDateFormatter *formate = [[[NSDateFormatter alloc] init] autorelease];
[formate setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *strConcat = @"2010-09-24 17:30:00";
NSDate *date = [formate dateFromString:strConcat];
NSLog(@"Output :%@",date);

我最后的输出--------2010-09-24 17:30:00 - 0700 客户端输出 ----2010-09-25 00:30:00 GMT 谁能指出问题出在哪里?

谢谢 普拉蒂克·戈斯瓦米

最佳答案

我注意到的唯一输出差异是时间不同。如果您没有显式设置格式化程序的 timeZone 属性,它将使用系统的本地时区。如果您希望您和您的客户的时间完全相同:

[formate setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

这将确保输出始终为 GMT。

关于iphone - NSString 到 NSDate 转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3738363/

相关文章:

iphone - NSUnknownKeyException - Storyboard还是代码?

ios - 为什么 Action 在加载完成后执行多次,为什么它对所有事件进行排队?

ios - 使用自定义单元格获取 UITableViewCell indexPath

objective-c - 两个 NSDate 之间的月数和天数

ios - 如何在 Swift 中删除可选 ("") 并格式化日期

iphone - Xcode 4 跳过将应用程序复制到设备/模拟器

iphone - 使用 Core Image 过滤器时增加 CFData 内存使用量

ios - 检查 iOS 中日期的文本字段值

swift - iOS SWIFT 和 Parse 获取日期和时间

iphone - 奇怪的 NSDate 和 NSDateFormatter 行为