2010-12-15 3 views
0

.NET:日時の設定は、一台のマシン上で異なっている私は1台のマシン上で開始した二つのアプリケーション(ウェブサイトおよびデスクトップアプリケーション)を持って、両方をシリアル化するために、次のDateTimeオブジェクトの値が使用されます

string strDateTileFullFormat = Thread.CurrentThread.CurrentCulture 
    .GetConsoleFallbackUICulture().DateTimeFormat.FullDateTimePattern; 

string SummarySupporyUntil = string.Concat("until ", 
    TestLicenseExpiryDate.ToString(strDateTileFullFormat)); 

一つのアプリケーションを作成します: "2011年12月31日(土曜日)12時00分00秒AM"、 別: "2011年12月31日12時00分00秒AM"

違いは1つが、 "カナダ" 国設定を使用することで、別の - "アメリカ合衆国"。

問題は、これらの日付が似ている必要があることです(実際には、どちらが正しいか、おそらく最初のものはわかりません)。

web/app.configファイルを見ましたが、ロケール設定に関連するものは表示されません。また、私はCurrentCultureのマニュアルを変更していません...

お勧めします。ありがとう!

+0

シリアル化フォーマット自体にdatetimeの標準フォーマットがありますか(例:XMLの場合のように)?もしそうなら、そのフォーマットを解決することは良い考えです。そうでない場合は、[ISO-8601](http://en.wikipedia.org/wiki/ISO_8601)などのローカル形式の代わりに、他の標準を使用することを検討してください。 –

答えて

0

あなたが最良のあなたに合った文化を決めたらドキュメントに記載されているように、あなたは可能System.DateTimeの強力な書式設定機能を使用することができます固定文化とDateTime.ToString Method

を例えばEN-US文化(1033)で:

string SummarySupporyUntil = string.Concat("until ", 
    TestLicenseExpiryDate.ToString(strDateTileFullFormat, new Culture(1033))); 

は、実行されるすべてのマシンで同じ結果が得られます。

関連する問題