2011-08-01 6 views
1

デフォルトのタイムゾーンを変更して、私たちのローカルヨーロッパ/プラハに変更したいと思っています。App Engineのデフォルトのタイムゾーンを変更するためのアクセス許可

しかし、権限のexcpetionに結果

DateTimeZone.setDefault(DateTimeZone.forID(DateUtils.TIME_ZONE)); 

(私はそれぞれの要求を処理するbforeフィルタでそれを呼び出す)を呼び出します。私はappengienの新しい権限を得ることができないとは思わない、私は何をしますか?

TimeZone.setDefault(TimeZone.getTimeZone(DateUtils.TIME_ZONE));

答えて

2

個人的にはどこにでもデフォルトのタイムゾーンを使用しないでください。常にタイムゾーンを明示的に渡し、使用するものを指定します。そのため、同じアプリケーションで2つのタイムゾーンを使用する必要があるため、システムのデフォルト設定が変更され、より堅牢でコードが明確になり、堅牢になります。 AppEngineのシステムデフォルト。

(余談ですが、.NETにジョダ時間の私のポートでは、システムのタイムゾーンを取得我々サポートものの、我々はどこにでもコードでデフォルトとしてそれを使用していないよう - あなたはを持っているあなたが望むものを明確にするために、システムのデフォルトは間違った選択です。多くの状況では、デフォルトのIMOで使用するのは悪い考えです。)

+0

多くの状況で私は同意しますが、現在の状況では、特定のタイムゾーンで作業する。これは仕様です。このコンサルトをコード内のどこにでも置くことができますが、要求のフィルタリングは設定可能で保守性が高いと思われます。 – Hurda

+0

@Hurda:ヘルパーメソッドに最もよく使用されるゾーンセンシティブな操作をいつも包み込むことができます。 AppEngineのデフォルトのタイムゾーンを変更しようとするよりも、すべてのことについて明示的に機能する可能性が高いと思います。 –

関連する問題