-3

ボタンから「30/06/2013」という日付を取得しようとしています:

このコードを試してみましたが、ログに記録されました: 2013-01-04 22:00:00 +0000:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/YYYY"];

NSDate *date = [formatter dateFromString:dateBtn.titleLabel.text];
NSLog(@"date %@",date);

アプリでは、この日付「05/01/2013」を取得しました。

私もこのコードを試しましたが、うまくいきませんでした:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"he_IL"];
[dateFormat setLocale:locale];
[dateFormat setDateFormat:@"dd/MM/YYYY"];
NSTimeInterval interval = 5 * 60 * 60;
NSDate *date1 = [dateFormat dateFromString:dateBtn.titleLabel.text];
date1 = [date1 dateByAddingTimeInterval:interval];

私がロケールヘブライ語を使用していることに注意することが重要です。

4

2 に答える 2

2

日付フォーマッターに関する Apple の公式ドキュメントをご覧ください。プラットフォームやバージョンによって形式が若干異なることに注意してください。

また、yyyy と YYYY の違いにも注意してください。

于 2013-07-09T15:37:29.883 に答える
2

日付形式を「dd/MM/yyyy」に設定

    NSString *originalDate = @"30/06/2013";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd/MM/yyyy"];

    NSDate *date = [formatter dateFromString:originalDate];
    NSLog(@"date %@",date);

@fzwoアップルリンクからの説明

yyyy を使用して年コンポーネントを指定します。よくある間違いは、YYYY を使用することです。yyyy は暦年を指定し、YYYY は ISO 年週カレンダーで使用される (「年の週」の) 年を指定します。ほとんどの場合、yyyy と YYYY は同じ数値になりますが、異なる場合もあります。通常、暦年を使用する必要があります。

于 2013-07-09T15:38:04.073 に答える