ios - 下一个 NSDateFormatter 问题

标签 ios objective-c nsdateformatter

知道有很多类似的问题,我需要更加细心。但我无法理解我的情况。

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"hh:mm:a MM/dd/yyyy"];
NSDate *date = [dateFormatter dateFromString:@"09:21:am 07/22/2014"];

date 为零。需要帮助。谢谢。

最佳答案

要使用 12 小时制进行解析,NSDateFormatter 似乎需要任何 12 小时制语言环境。 不过,我不知道这是不是一种错误。

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"es_US"]];
[dateFormatter setDateFormat:@"hh:mm:a MM/dd/yyyy"];
NSDate *date = [dateFormatter dateFromString:@"09:21:am 07/22/2014"];

要查找 12 小时制语言环境,此代码有助于:

NSArray *locales = [NSLocale availableLocaleIdentifiers];
for(NSString *locale in locales) {
    NSString *fmt = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale localeWithLocaleIdentifier:locale]];
    NSLog(@"%10s:%@", [locale UTF8String], fmt);
}

参见 this answer

关于ios - 下一个 NSDateFormatter 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24878017/

相关文章:

ios - 确定 UITextView 将截断字符串的位置

ios - 将 UILabel 从一个 View 拖放到另一个 View - iOS

ios - 如何检查用户是否已登录以及是否未重定向到登录屏幕

ios - 如果同一个文件中有 2 个 Appdelegate 类会发生什么

objective-c - NSPredicate 的结果作为字符串

objective-c - UIButton不显示文字设置宽度[UIButton setTitle]

iphone - MPMoviePlayerViewController 不播放下载的文件

ios - NsDate 格式化程序从字符串中给出错误的日期

ios - Swift - 从 NSDate 中提取小时数,解析字符串问题

ios - 使用NSdateformatter返回错误答案,将 double 转换为小时分钟和秒