Как удалить символы кандзи в локали форматирования даты и времени JP? - PullRequest
0 голосов
/ 13 декабря 2018
NSDateFormatter *stringFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [NSLocale currentLocale];

NSLocale *ja;

if ([[locale localeIdentifier] rangeOfString:@"ja_JP"].location == NSNotFound) {
    ja = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
    [stringFormatter setLocale:ja];
}else{
    ja = [NSLocale currentLocale];
}

[stringFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Tokyo"]];
[stringFormatter setDateFormat:@"yyyyMMddHHmmss"];

Иногда возвращаются такие результаты: 20190211 午後.Я хочу сохранить язык в Японии, но убрать 午後 в результате.Результат должен быть: 20190211152022.

1 Ответ

0 голосов
/ 13 декабря 2018

Попробуйте

NSDateFormatter *stringFormatter = [[NSDateFormatter alloc] init];
    NSLocale *locale = [NSLocale currentLocale];

    NSLocale *ja;

    if ([[locale localeIdentifier] rangeOfString:@"ja_JP"].location == NSNotFound) {
        ja = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
        [stringFormatter setLocale:ja];
    }else{
        ja = [NSLocale currentLocale];
    }

    [stringFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Tokyo"]];
    [stringFormatter setDateFormat:@"yyyyMMddHHmmss"];

    NSString * strdate = [stringFormatter stringFromDate:[NSDate date]];

    NSLog(@"%@", strdate);

Получится вот так

20181213195829

Надеюсь, это поможет

...