我正在尝试格式化日期以匹配服务器端预期的格式。
- 通缉时间:1985-01-24T00:00:00-07:00
- 获取: 1985-01-24T00:00:00-0700
- 使用: yyyy-MM-dd'T'HH:mm:ssZZZ
是否有一个日期格式技巧可以用来将冒号放入其中?
这是我的代码。 _birthdate 是出生日期选择器提供的日期:
NSDate *birthdate = (NSDate *)resultObject;
[_birthdate setNewTitle:[IRDate mmddyyFromNSDate:birthdate]];
//Set server-ready birthdate format
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
serverFormattedBirthDate = [formatter stringFromDate:birthdate];
NSLog(@"Birthdate: %@", serverFormattedBirthDate);
最佳答案
根据Date Format Specifiers文档,看起来您需要 5 个 Z
。这将为您提供类似 "-08:00"
的内容。
啊哈,我明白你的意思了。如果您在 OS X 10.8 上运行格式化,您将得到您期望的字符串。但是,如果您在 iOS 5.1 上运行格式化,您将在字符串中获得额外的“GMT”。
我猜测 CLDR 的最新版本中的基础数据已发生更改。在这种情况下,我不确定正确答案是什么。
关于Objective-C - 如何让日期格式化程序在时区偏移中添加冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11696009/