C# Azure区域性特定的月/日格式与localhost不同
我遇到了一个非常奇怪的问题,即上指定的“月/日”标准日期格式在本地计算机上的呈现方式与在azure云服务和网站上的呈现方式不同 在这种情况下,呈现不同的文化是“en-AU”。对于2017-05-04<代码>日期它应该呈现为5月4日<代码>并且在我的本地机器上它正好如此。在我们的网站(azure云服务)和API(azure网站)上,它呈现为C# Azure区域性特定的月/日格式与localhost不同,c#,azure,string-formatting,culture,C#,Azure,String Formatting,Culture,我遇到了一个非常奇怪的问题,即上指定的“月/日”标准日期格式在本地计算机上的呈现方式与在azure云服务和网站上的呈现方式不同 在这种情况下,呈现不同的文化是“en-AU”。对于2017-05-04日期它应该呈现为5月4日并且在我的本地机器上它正好如此。在我们的网站(azure云服务)和API(azure网站)上,它呈现为5月4日。奇怪的是,如果我使用“短日期模式”,它会在azure/local上呈现为04/05/2017。因此,这似乎只针对“月/日”模式 我试过了 var culture =
5月4日
。奇怪的是,如果我使用“短日期模式”,它会在azure/local上呈现为04/05/2017
。因此,这似乎只针对“月/日”模式
我试过了
var culture = new CultureInfo("en-AU");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
格式代码是
string.Format(new CultureInfo("en-AU"), "Until {0:M} {0:yyyy}", endDate);
我想知道Azure中某些区域性定义的版本是否可能与我本地机器上的版本不同?据我所知,他们都在运行.NET4.5。我在代码中添加了日志语句,以便确认在代码运行的行上正确设置了区域性,但由于某些原因,它只是在Azure中输出了与本地不同的值。我在本地和Azure环境中都使用了“en-AU”和“en-ZA”区域性。不幸的是,在这两种环境中,我都没有遇到您在问题中提到的问题
您获得的日期格式似乎是美国格式,这可能是因为您用于承载应用程序的azure数据中心位于美国,并且您的日期格式符合该文化。无论如何,请尝试将日期格式设置为:
var currentCulture = new CultureInfo("en-AU");
var formattedDate = DateTime.Now.ToString("G",currentCulture);
对于南非文化,请尝试以下方法:
var currentCulture = new CultureInfo("en-ZA");
var formattedCurrency = currency.ToString("C", currentCulture);
//currency = 100000 then formattedCurrency => R 100 000,00
祝你好运 我在其他领域也看到了类似的不一致。例如,对于南非货币,我在本地机器上获得
R450.00
,但在Azure的web服务器上获得R450.00
(注意添加的空间)。这些变化非常微妙,但Azure中的库和我拥有的库显然有些不同,我不知道如何跟踪它。谢谢,但对于“M”和“C”样式,这在服务器上提供的输出仍然与本地不同。