2

我正在尝试格式化日期以匹配服务器端预期的格式。

  • 通缉: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);
4

1 回答 1

4

根据Date Format Specifiers文档,看起来您需要 5 Z。这会让你得到类似的东西"-08:00"


啊哈,我明白你在说什么。如果你在 OS X 10.8 上运行格式化,你会得到你期望的字符串。但是,如果您在 iOS 5.1 上运行格式化,您将在字符串中获得额外的“GMT”。

我猜想在最新版本的 CLDR 中基础数据发生了变化。在那种情况下,我不确定正确的答案是什么。

于 2012-07-27T21:45:37.927 回答