0

これは簡単かもしれません。探しましたが、まだ見つかりません。

NSString @"20100216190205" を @"yyyy-MM-dd HH:mm:ss" 形式の NSString に変換するにはどうすればよいですか。

例: @"2010-02-16 19:02:05"

編集: 他の状況では、NSDateFormatter をより一般的に使用することを避けたかったのです。

4

3 に答える 3

2

各部分文字列を抽出し、整数 ( -intValue) に変換してから、 を使用NSDateComponentsしてこれらを日付に変換できます。そして、NSDateFormatter を使用するよりもはるかに面倒です。

yyyyMMddHHmmssあなたの場合、呼び出す前に-dateFromString:NSDateFormatterのフォーマットを設定する必要があります。

[formatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate *date = [formatter dateFromString:@"20100216190205"];
....
于 2010-02-16T16:06:08.827 に答える
1

formatter例にある文字列を解析するには、の形式を yyyyMMddHHmmss に設定する必要があります。新しいフォーマッターを作成するか、元のフォーマッターのフォーマットを変更して、より視覚的に魅力的なフォーマットを組み込む必要があります ( @"yyyy-MM-dd HH:mm:ss")。

于 2010-02-16T16:06:44.303 に答える
1

純粋にコードを書く練習として:

NSString* digits = @"20100216190205"; // this is probably a parameter somewhere
NSMutableString* formatted = [digits mutableCopy];
[formatted insertString:@":" atIndex:12];
[formatted insertString:@":" atIndex:10];
[formatted insertString:@" " atIndex:8];
[formatted insertString:@"-" atIndex:6];
[formatted insertString:@"-" atIndex:4];
NSLog(@"original string: %@ -> formatted: %@", digits, formatted);

しかし、私は同意します。気楽に行って、これには日付フォーマッタを使用してください。

于 2010-02-16T16:20:40.397 に答える