0

Google App Engine には、datetime プロパティがあり(auto_now_add=True)ます。iPhone の Objective-C では、現在の時刻を取得すると2012-04-17 6:55:01、Python でauto_now_addgot me を取得します2012-04-17 11:55:01

6:55は私の現地時間で、Python の日付がどのタイム ゾーンまたは形式で表示されているかわかりません。Python または Objective-C を使用して、両方を一致させるにはどうすればよいですか?

編集:どうやらPythonの日付はUTC形式です。しかし、私のiPhoneの日付はどのような形式ですか? [NSDate date]UTCにもあると思いましたか?異なる結果が得られるのはなぜですか?

編集2:わかりました。Objective-Cでこれを行う必要がありました

NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[formatter setTimeZone:timeZone];
4

1 に答える 1

2

これは、アプリ エンジンが常に UTC 時間で動作するためです。お使いの携帯電話はおそらく異なるタイムゾーンにあるためです。

ランタイムの TZ 環境変数は UTC に設定されており、変更できません。time.time() や datetime.datetime.now() などによって返されるタイムスタンプは、常に UTC になります。同様に、データストアの日時プロパティは常に UTC として格納され、返されます。

astimezone() メソッドを使用して、メモリ内の datetime のタイム ゾーンを変更できます。

ソース

于 2012-04-17T12:54:47.907 に答える