Вопрос по date, ios – NSDateFormatter «Месяц» в 3 буквы вместо полного слова

27
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd-MM-YYYY HH:mm"];        
    [formatter setTimeZone:[NSTimeZone systemTimeZone]];

Если я выберу «ММ» я получаю номер месяца: «09-05-2012 15: 33» Если я выберу «ММММ» я получаю месяц словом: "09-Май-2012 15: 33"

То, что я хотел, был месяц в сокращении 3 букв.
Например: «Январь» будет "январь"

В этом случае май правильно, потому что он имеет только 3 буквы.

использованиеMMM для краткого названия месяца onmyway133

Ваш Ответ

6   ответов
50

[formatter setDateFormat:@"dd-MMM-YYYY HH:mm"]; а потом[formatter stringFromDate:someNSDate];

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded bruno
Error: User Rate Limit Exceededstackoverflow.com/questions/35969183/…
Error: User Rate Limit Exceeded bruno
4

SWIFT

let dateFormatter = NSDateFormatter()

dateFormatter.dateFormat = "dd MMM yyyy HH:mm"

dateFormatter.stringFromDate(NSDate())
1

«январь», «февраль» и т. Д.) Следующим образом:

[formatter setDateStyle:NSDateFormatterMediumStyle];
2

которое работает со Swift 4 для получения трехбуквенного вывода:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM YYYY, HH:mm:ss"

И проверить:

print(dateFormatter.string(from: Date())) // 20 Mar 2018, 23:41:40

Как отмечалось ранее,MMM правильный синтаксис для получения желаемого результата месяца.

26

вы не получите ожидаемый результат.

[formatter setDateFormat:@"MMM"];
[formatter setDateStyle:NSDateFormatterMediumStyle];

НЕ дает такие же результаты, как:

[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setDateFormat:@"MMM"];

(Второй из этих двух фрагментов теперь с радостью раздает сентябрь и т. Д. В моем приложении)

1

if let dateFormatter = DateFormatter(){
    dateFormatter.dateStyle = .medium
    // eventually:
    //let locale = Locale(identifi,er: ...                       
    //dateFormatter!.locale = locale
    dateFormatter.dateStyle = .medium
    dateFormatter!.dateFormat = "dd MMM YYYY, HH:mm:ss"
 } else..
        ..

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