0

これが私のコードです:

[dateFormat setDateFormat:@"EEE MM d HH:mm:ss yyyy"];
logDate = [dateFormat dateFromString:[line substringToIndex:24]];    

行は文字列で構成されています: "Mon Feb 18 09:25:53 2013: FAILED : Configuration-Update :"

「Mon Feb 18 09:25:53 2013」という日付だけを取得し、フォーマットで@"EEE MM d HH:mm:ss yyyy"フォーマットしました。間違った出力が得られます: "2013-02-18 03:55:53 -0000"Time alone が正しく印刷されません。パターンを指定するためにDate Format Patternsに従いましたが、まだこの問題を段階的に進めています。どこが間違っているのか理解できません。誰かが問題を見つけてくれれば助かります。前もって感謝します

4

5 に答える 5

1

これを試してください

NSDate *date = [NSDate date];
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"EEE MM d hh:mm:ss yyyy"];
NSLog(@"%@",[formatter stringFromDate:date]);
NSLog(@"%@",date);

NSLog を使用してログを記録すると、UTC 形式 (UTC はオフセット値で構成され、インドでは標準時 +5.30) である yyyy-MM-d HH:mm:ss z が得られます。地域に基づく現在の時刻。

例えば

NSLog(@"%@",[formatter stringFromDate:date]);
NSLog(@"%@",date);

火 02 26 05:38:00 2013 // "EEE MM d hh:mm:ss yyyy "

火 02 26 17:46:22 2013 // 「EEE MM d HH:mm:ss yyyy」

2013-02-26 12:08:00 +0000 //NSLog を使用したログ記録のみ

これがお役に立てば幸いです

于 2013-02-26T12:21:59.110 に答える
0

結果の日付を次のように出力する場合は、NSDateFormatterのタイムゾーンを設定する必要があります。

[formatter setTimeZone:[NSTimeZone localTimeZone]];
于 2013-02-26T10:38:12.007 に答える
0

すべてのおかげで..このようにコードを変更することで機能しました..

NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init]autorelease];
[dateFormat setDateFormat:@"EEE MM d HH:mm:ss yyyy"];    
[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];    
return [dateFormat dateFromString:dateString];
于 2013-04-19T09:40:46.960 に答える
0

NSdate オブジェクトのログを取得すると、タイムゾーン +0000 のみに関する日付が表示されます。そのためには、日付をローカル タイムゾーンにフォーマットする必要があります。このような..

[dateFormat setDateFormat:@"EEE MM d HH:mm:ss yyyy"];
logDate = [dateFormat dateFromString:@"Mon Feb 18 09:25:53 2013"];
[dateFormat setTimeZone:[NSTimeZone localTimeZone]];
NSLog(@"Date %@",[dateFormat stringFromDate:logDate]);
于 2013-02-26T11:10:45.683 に答える
0

次のように使用する必要があります。

NSString *line=@"Mon Feb 18 09:25:53 2013: FAILED : Configuration-Update :";

NSDateFormatter *dateFormat=[NSDateFormatter new];
[dateFormat setDateFormat:@"EEE' 'MM' 'd' 'HH:mm:ss' 'yyyy"];

NSDate *logDate = [dateFormat dateFromString:[line substringToIndex:24]];

NSLog(@"logDate->%@",logDate);
于 2013-02-26T10:53:40.697 に答える