重複の可能性:
ロケールの日付形式が月/日か日/月かを判断するには?
私は今しばらく苦労しており、立ち往生しています!"mm-dd-yyyy" または "08-25-2012" の形式で、ローカルにフォーマットされたパターンの日付文字列が必要です。どうすればいいですか?を使用しdateFormat
ますか?私を助けてください!
重複の可能性:
ロケールの日付形式が月/日か日/月かを判断するには?
私は今しばらく苦労しており、立ち往生しています!"mm-dd-yyyy" または "08-25-2012" の形式で、ローカルにフォーマットされたパターンの日付文字列が必要です。どうすればいいですか?を使用しdateFormat
ますか?私を助けてください!
NSDateFormatter には便利なクラス メソッドがあります。
[NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];
NSDateFormatterNoStyle、..ShortStyle、..MediumStyle、または..LongStyleを指定できます
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