1

重複の可能性:
ロケールの日付形式が月/日か日/月かを判断するには?

私は今しばらく苦労しており、立ち往生しています!"mm-dd-yyyy" または "08-25-2012" の形式で、ローカルにフォーマットされたパターンの日付文字列が必要です。どうすればいいですか?を使用しdateFormatますか?私を助けてください!

4

2 に答える 2

10

NSDateFormatter には便利なクラス メソッドがあります。

[NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];

NSDateFormatterNoStyle、..ShortStyle、..MediumStyle、または..LongStyleを指定できます

于 2012-08-26T12:47:45.800 に答える
3

MM-dd-yyyy で NSDateFormatter を使用してから、フォーマッタに適用された NSTimeZone を使用してローカル タイム ゾーンを調整できます。

これ:

NSDate *date = [[NSDate alloc] init];
NSLog(@"%@", date);

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yyyy hh:mm"];
NSString *dateString = [dateFormatter stringFromDate:date];

NSLog(@"%@", dateString);

NSTimeZone *timeZone = [NSTimeZone localTimeZone];
[dateFormatter setTimeZone:timeZone];
NSLog(@"adjusted for timezone: %@", [dateFormatter stringFromDate:date]);

出力:

2012-08-26 08:30:53.741 Craplet[2585:707] 2012-08-26 12:30:53 +0000
2012-08-26 08:30:53.742 Craplet[2585:707] 08-26-2012 08:30
2012-08-26 08:30:53.743 Craplet[2585:707] adjusted for timezone: 08-26-2012 08:30
于 2012-08-25T20:20:09.900 に答える