iPhone SDK Objective-C __ ДАТА __ (компилируют дату) не может быть преобразован в NSDate

//NSString *compileDate = [NSString stringWithFormat:@"%s", __DATE__];
NSString *compileDate = [NSString stringWithUTF8String:__DATE__];

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];

[df setDateFormat:@"MMM d yyyy"];   
//[df setDateFormat:@"MMM dd yyyy"];    

NSDate *aDate = [df dateFromString:compileDate];  

Хорошо, я сдаюсь. Почему aDate иногда возвращался бы как ноль?

Должно иметь значение, если я использую закомментированные строки... или их соответствие заменяющим строкам?

5
задан Susanna 19 May 2010 в 02:24
поделиться

1 ответ

Он может вернуть nil, если регион в телефоне не соответствует США (или аналогичному).

Попробуйте установить языковой стандарт средства форматирования на en_US:

NSString *compileDate = [NSString stringWithUTF8String:__DATE__];
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@"MMM d yyyy"];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[df setLocale:usLocale];
[usLocale release];
NSDate *aDate = [df dateFromString:compileDate];  
20
ответ дан 18 December 2019 в 05:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: