EDIT:基本的に、私は理想的なISO-8601を経由して、UTC時間で、これを実行するために探しています:Python datetime.datetime.utctime()をObj-C NSDateに変換して元に戻すにはどうすればいいですか?
- のPython:datetime.datetimeのは---> ISO-8601文字列
- パイソン:ISO -8601文字列---> datetime.datetimeの
- のObj-C:NSDate ---> ISO-8601 NSStringの
- のObj-C:ISO-8601 NSStringの---> NSDate
これは本当にシンプルなはずですが、わかりません。文字列に変換
Pythonコード:タイムゾーン情報%z
は(utcnowので、空の文字列として印刷されていることを
>>> import datetime
>>> datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S %z")
'2012-03-08 00:07:31 '
注)ナイーブ DateTimeオブジェクトを返します。どのようにを認識し、次のように印刷するには?物事のOBJの-C側で
'2012-03-08 00:07:31 +0000'
:
// This fails and prints (null) since the timezone is missing.
NSString *pythonDate1 = @"2012-03-07 23:51:58 ";
NSDate *objCDate1 = [NSDate dateWithString:pythonDate1];
NSLog(@"%@", objCDate1);
// This works, manually adding in the "+0000".
NSString *pythonDate2 = @"2012-03-07 23:51:58 +0000";
NSDate *objCDate2 = [NSDate dateWithString:pythonDate2];
NSLog(@"%@", objCDate2);
プリントアウト:私はdatetime.datetimeのにNSDateから戻ってどのように非常にわからない
2012-03-07 19:14:47.848 Untitled 3[3912:707] (null)
2012-03-07 19:14:47.849 Untitled 3[3912:707] 2012-03-07 23:51:58 +0000
オブジェクトも。どんな助けでも大歓迎です! :)
それは厳密にそれをサポートしていますが、部分的にしかいないように見えます。それは 'Z'を好きではありませんが、代わりに' + 0000'と '+00:00'を受け入れます。 –
もう一度、Obj-C utc時間を過ごすだけなら、あなたは不正行為をして+00:00を提供することができます。それ以外の場合は、あなたがPhilのようにピッツを使用しなければならないと思います。 – monkut