2

私はこの紐を持っています...

2010-08-24T16:00:00-05:00

そして、そこから時間部分 (つまり 16:00) を抽出し、それを 12 時間相当 (つまり 04:00 pm) に変換したいと思います。これを達成するために NSDateFormatter を使用しようとしていますが、機能していません...

NSDateFormatter* dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"hh:mm a"];
NSDate *date1 = [dateformatter dateFromString:[listOfTimes objectAtIndex:0]];
[dateformatter release];

この日付形式で NSDateFormatter を使用できますか? そうでない場合、時間を抽出して 12 時間相当の時間に変換するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

2

問題は、コロンの解析に関係しています。私は同じ質問をしましたが、解決策は次のとおりです: How to parse a date string into an NSDate object in iOS?

于 2011-02-15T04:12:07.360 に答える
1

次のようなことができるはずだと思います。


    // create the date formatter object 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
    NSDate* date = [formatter dateFromString:dateString];
    // set up the new date format
    [formatter setDateFormat:@"hh:mm:ss"];
    NSString *twelveHourTime = [formatter stringFromDate:date];
    [formatter release];

更新:dateFormatter文字列形式を修正しました。下の行がありましたが、Zは不要のようです。タイムゾーンはいつも私を台無しにします。:-/

    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
于 2010-08-24T21:25:28.427 に答える
0

この回答は更新する必要があります。iOS 10 の時点で、システムが提供するNSISO8601DateFormatterは、この特定の形式で使用できます。

于 2017-09-05T21:08:23.427 に答える