是否可以从CurrentCulture获取DateTimeFormatInfo的工作日,但是将星期一返回为一周的第一天,而不是星期天。并且,如果当前的语言不是英语(即ISO代码不是“en”),则将其保留为默认设置。

默认情况下,CultureInfo.CurrentCulture.DateTimeFormat.DayNames返回:

[0]: "Sunday"
[1]: "Monday"
[2]: "Tuesday"
[3]: "Wednesday"
[4]: "Thursday"
[5]: "Friday"
[6]: "Saturday"

但是我需要:
[0]: "Monday"
[1]: "Tuesday"
[2]: "Wednesday"
[3]: "Thursday"
[4]: "Friday"
[5]: "Saturday"
[6]: "Sunday"

最佳答案

您可以使用custom cultures在现有文化的基础上创建一种新文化。不过,老实说,我想这可能有点笨拙。 “最简单”的解决方案可能是这样的:

public string[] GetDayNames()
{
    if (CultureInfo.CurrentCulture.Name.StartsWith("en-"))
    {
        return new [] { "Monday", "Tuesday", "Wednesday", "Thursday",
                        "Friday", "Saturday", "Sunday" };
    }
    else
    {
        return CultureInfo.CurrentCulture.DateTimeFormat.DayNames;
    }
}

关于c# - 在.NET中获取当前的文化日名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2901220/

10-12 21:46