-1

文字列 "2012-06-04" があり、それを2012 年 6 月 4 日 に変換するのに苦労しています。

これを変換する簡単な方法はありますか?私は、すべてを秒単位に変換し、それを必要な形式に戻す Ruby の世界から来ました。それを行う方法を示すリファレンスはありますか?

ありがとう

4

2 に答える 2

3

これを行う 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で説明されています。

于 2012-05-30T19:53:20.163 に答える
1

何かのようなもの

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のような他のソースといくつかの試行錯誤を使用できます。

于 2012-05-30T19:51:51.063 に答える