c# - 获取 DayOfWeek 值的本地化字符串

标签 c# .net datetime date localization

此代码未本地化:

Enum.GetNames(typeof(DayOfWeek))

我想要一个返回本地化字符串列表的方法,从任意 DayOfWeek 开始,这是本地化的,我想使用内置资源来实现这一点。到目前为止,我已经想出了下面的代码,但我觉得应该以一种不像 hack 的方式来支持它。

    public List<String> GetLocalizedDayOfWeekValues(DayOfWeek startDay = DayOfWeek.Sunday)
    {
        var days = new List<String>();
        DateTime date = DateTime.Today;

        while (date.DayOfWeek != startDay)
            date.AddDays(1);

        for (int i = 0; i < 7; i++)
            days.Add(date.ToString("dddd"));

         return days; 
    }

知道更好的方法,请分享。谢谢!

最佳答案

我认为您正在寻找 DateTimeFormatInfo.DayNames .示例代码:

using System;
using System.Globalization;

class Program
{
    public static void Main()
    {
        var french = new CultureInfo("FR-fr");
        var info = french.DateTimeFormat;
        foreach (var dayName in info.DayNames)
        {
            // dimanche, lundi etc
            Console.WriteLine(dayName);
        }
    }    
}

关于c# - 获取 DayOfWeek 值的本地化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11214057/

相关文章:

C# 在 WPF 应用程序中从单独的线程设置标签内容时出现问题

c# - 使用不同的类更改 form1 中的文本标签

python - 使用Python解析日期时间范围之间的日志

C# 将字符串转换为数组

c# - 如何验证字符串是否正确的日期时间

c# - 我能以更好的方式从 TcpClient 读取流吗?

c# - 如何在 C# 中获取公共(public)桌面和开始菜单目录的路径?

.NET 调用 SharePoint Web 服务收到 HTTP 401 未经授权的异常

SQL:为最接近特定时间的每一天选择一条记录

python - 按 1 分钟对大量 GPS 数据进行分组