我在這裏有一個很奇怪的。程序沒有遵循Windows機器的日期格式(它可以被覆蓋的地方嗎?)
在一個簡單的Windows窗體應用程序我寫了下面的C#代碼
MessageBox.Show("Todays date is: "+DateTime.Today.ToShortDateString());
運行這通常只是顯示由Windows指定的格式的日期(在該區域設置)。 (所以在我的機器設置爲丹麥本地,它顯示日期爲dd-MM-yyyy => 13-10-2017)這是預期的。
但我有一個客戶的服務器(Windows Server 2012),如果情況並非如此。在他們的設置中,Windows區域設置與我的一樣(dd-MM-yyyy),但儘管上面的簡單代碼顯示爲MM/dd/yyyy => 10/13/2017這是美式格式。
我只是不明白這一點,使它更神祕,它只是對這個服務器上的一些Windows用戶(有些顯示格式爲窗口中的時鐘和其他格式不變)。
我一直在Google上搜索,如果有某種.NET設置可以覆蓋用戶級別但沒有發現任何東西。
代碼中沒有什麼文化和任何特殊的東西(只是文件>新項目> Winform [Targeting .net 4.5]和上面的代碼行)。
你想尊重窗口設置,例如如果用戶在那裏選擇了「en-US」,會發生什麼情況?你可以[強制丹麥語區域](https://stackoverflow.com/q/468791/1997232)。 – Sinatr
我不想在這裏強迫任何東西。我只希望我的程序能夠遵循Windows區域設置中選擇的內容 – RWJ
該代碼是否在該服務器上執行?並且該服務器的實際區域設置是否正確,或者只是顯示格式?兩者可以不同。 – DonBoitnott