文字列 "2012-06-04" があり、それを2012 年 6 月 4 日 に変換するのに苦労しています。
これを変換する簡単な方法はありますか?私は、すべてを秒単位に変換し、それを必要な形式に戻す Ruby の世界から来ました。それを行う方法を示すリファレンスはありますか?
ありがとう
文字列 "2012-06-04" があり、それを2012 年 6 月 4 日 に変換するのに苦労しています。
これを変換する簡単な方法はありますか?私は、すべてを秒単位に変換し、それを必要な形式に戻す Ruby の世界から来ました。それを行う方法を示すリファレンスはありますか?
ありがとう
これを行う 1 つの方法は、2012-06-04 形式のNSDateFormatterを使用して文字列を NSDate に変換し、次に 2012 年 6 月 4 日の形式を使用して NSDate を文字列に戻すことです。
NSString* input = @"2012-06-04";
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate* date = [df dateFromString:input];
[df setDateFormat:@"MMMM d, yyyy"];
return [df stringFromDate:date];
フォーマット文字列の構文はUTS #35で説明されています。
何かのようなもの
NSDateFormatter *fromDateFormatter = [[NSDateFormatter alloc] init];
fromDateFormatter.dateFormat = @"yyyy-MM-dd";
NSDate *date = [fromDateFormatter dateFromString:@"2012-06-04"];
NSLog(@"%@", date);
NSDateFormatter *toDateFormatter = [[NSDateFormatter alloc] init];
toDateFormatter.dateFormat = @"MMMM d, yyyy";
NSString *toDate = [toDateFormatter stringFromDate:date];
NSLog(@"%@", toDate);
#=> 2012-05-30 20:51:12.205 Untitled[1029:707] 2012-06-03 23:00:00 +0000
#=> 2012-05-30 20:51:12.206 Untitled[1029:707] June 4, 2012
これを解決するには、Apple のクラス参照NSDateFormatterと、このIPHONE NSDATEFORMATTER DATE FORMATTING TABLEのような他のソースといくつかの試行錯誤を使用できます。