私はここで非常に奇妙なものがあります。プログラムはWindowsマシンの日付形式に従いません(どこかで上書きできますか?)
シンプルなWindowsフォームアプリケーションでは、私は、次のC#コードを書く
MessageBox.Show("Todays date is: "+DateTime.Today.ToShortDateString());
これは通常、ちょうど(地域設定の)ウィンドウで指定された形式で日付を表示実行します。 (私のマシンではデンマーク地方に設定されているので、日付はdd-MM-yyyy => 13-10-2017と表示されます)これは予想されます。
しかし、私は顧客のサーバー(Windows Server 2012)がありません。セットアップでは、Windowsのリージョン設定は私のようです(dd-MM-yyyy)が、上記のコードはMM/dd/yyyy => 10/13/2017と表示されていますが、これはアメリカのフォーマットです。
私はこのことを理解しておらず、このサーバー上の一部のWindowsユーザー(いくつかは形式をウィンドウ内の時計として表示し、その他は不変の形式で表示しています)についてさらに謎を解き明かします。
私は、ユーザーレベルでオーバーライドできるものは見つかりませんでしたが、何らかの種類の.NET設定がある場合はGoogleで検索しています。
コードには、カルチャと特別なものは何もありません(ファイル>新規プロジェクト> Winform [Targeting .net 4.5]と上記のコード行のみ)。
Windows設定を尊重しますか?ユーザーが「en-US」を選択した場合はどうなりますか?あなたは[danish localeを強制する]ことができます(https://stackoverflow.com/q/468791/1997232)。 – Sinatr
私はここで何かを強制することを決して望んでいません。私は自分のプログラムがWindows地域の設定で選択されているものに従うことを願っています – RWJ
そのサーバーでコードが実行されていますか?そのサーバーの実際の地域が正しく設定されているのか、それとも単に表示形式ですか? 2つは異なる可能性があります。 – DonBoitnott