2012-04-09 4 views
0

UTCの時刻を希望の日付形式に変換するのに少し苦労しています。これを解決するために iPhone/OS X:UTC形式の日付と時刻の値を変換するカレンダーに必要な形式

2012-03-10T09:30:00Z 

は、あなた誰かが私を助けてもらえ以下の形式

3:00:00pm April 19, 2012 

に変換する必要が?

私は、 "午前6時03分32秒1月1日(木曜日)" のようなその印刷間違った日付を、以下のように

NSString *formatted; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ; 
    [formatter setTimeStyle:NSDateFormatterShortStyle]; 
    [formatter setDateFormat:@"HH:mm:ss EEEE, MMM d"]; 
// Here datetime= 2012-03-10T09:30:00Z 
    NSDate *date = [NSDate dateWithTimeIntervalSince1970: [datetime intValue]]; 
    NSString *dateString = [formatter stringFromDate:date]; 
    NSLog(@"dateString: %@", dateString); 

を試してみました。しかし。私を修正してください。

更新日:私は別の問題を抱えています。私には正しい時間は与えられませんが、正しい日付が与えられます。私のコードは以下の通りです。

NSString *formatted; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ; 
[formatter setTimeStyle:NSDateFormatterShortStyle]; 
[formatter setDateFormat:@"HH:mm:ss EEEE, MMM d"]; 


NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; 
NSDate *date = [df dateFromString:datetime]; 
NSString *dateString = [formatter stringFromDate:date]; 
NSLog(@"dateString: %@", dateString); 

ありがとうございます! NSDateにISOの日付文字列を変換するには

答えて

0

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; 
NSDate *date = [df dateFromString:date_str]; 

あなたは、あなたのローカルタイムゾーンに変換することができます:あなたの[datetime intValue]はおそらく間違っている、あなたのコードで

[df setTimeZone:[NSTimeZone localTimeZone]]; 
[df setDateFormat:@"HH:mm:ss EEEE, MMM d"]; 

+0

次に、表示された出力を取得するには、[formatter setDateFormat:@ "K:mm:ssa MMM、d yyyy"]という形式を使用します。 – WhiteTiger

+0

ハイシミング、ありがとう。私は、フォーマットを逆にしたいと思う。 – Getsy

+0

Hi Whitetiger、あなたのフォーマットは作成されていません。 nullを示しています。 – Getsy

関連する問題