上午03点的NSDate格式

时间:2011-10-14 18:13:43

标签: iphone objective-c nsdate nsdateformatter

我知道它很简单,但我不能说得对。一直盯着这么长时间。 我有一个03AM的字符串,但当我尝试从它获取日期时,我无法让它工作。它给了我1970-01-01 21:00:00 +0000。不知道为什么。 任何人都可以帮到这里:

    NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormat setDateFormat:@"ha"];
    [dateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease] ];
    NSDate *date1 = [dateFormat dateFromString:display];
    NSLog(@"Display 2 : %@", date1);

2 个答案:

答案 0 :(得分:1)

[dateFormat setDateFormat:@"ha"];

应该是:

[dateFormat setDateFormat:@"hh a"];

看看是否有效;)

参考:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

答案 1 :(得分:0)

要使AM / PM正确显示,您可能必须将语言环境设置为特殊值。请参阅this主题。