从 Day 的整数值中获取星期几

本文关键字:取星期几 整数 Day | 更新日期: 2023-09-27 18:18:59

我已经将一周中的几天转换为它们各自的整数值。

例如:Tuesday, Thursday, Friday As 2,4,5

现在我需要从整数回到日子。

只是我所做的事情的相反。

问题的反面:获取星期几的整数值

是否有一种简单的标准方法可以从 C# 中的整数值获取星期几,否则我将不得不使用 Method 执行手动计算?

从 Day 的整数值中获取星期几

尝试以下代码:-

Response.Write(Enum.GetName(typeof(DayOfWeek),5));

输出:

Friday

如果必须将整数转换为星期几,请参阅以下示例以使用 LINQ 转换"2,4,5"。

var t = string.Join(",",
                 from g in "2,4,5".Split(new char[] { ',' })
                 select Enum.GetName(typeof(DayOfWeek), Convert.ToInt32(g)));
        Response.Write(t);

输出:

Tuesday,Thursday,Friday

如需更多信息:-

http://msdn.microsoft.com/en-us/library/system.enum.getname(v=vs.110(.aspx

试试

CultureInfo.CurrentCulture.DateTimeFormat.DayNames[day No]
添加

我的答案,以防对任何人有用:

((DayOfWeek)i).ToString();

给出 0 = 星期日,1 = 星期一等

对于 0 = 星期一,只需沿 1 移动

((DayOfWeek)((i + 1) % 7)).ToString();
Enum.Parse(typeof(DayOfWeek),"0")

其中"0"是相当于星期几的整数值的字符串

> In DateTime.Now DayOfWeek 是一个枚举值,您可以通过将其解析为相应的值来获取其字符串值。

Enum.Parse(typeof(DayofWeek),"0")

然后你会得到你想要的结果。

string.Format("{0:dddd}", value)

使用枚举不会考虑本地化。此字符串格式应将全天名称作为本地化为本地区域性的字符串返回。

class Program
{
    static void Main(string[] args)
    {
        var value = DateTime.Today;
        System.Console.WriteLine(string.Format("{0:dddd}", value));
    }
}

2020 年 3 月 11 日的控制台输出,区域设置 en-GB:

Wednesday