【问题标题】:Get the Day of a week from integer value of the Day从 Day 的整数值中获取星期几
【发布时间】:2014-10-14 15:50:23
【问题描述】:

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

例如:Tuesday, Thursday, Friday 作为2,4,5

现在我需要从整数中回到过去。

与我所做的相反。

问题的逆: Get Integer value of day of week

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

【问题讨论】:

  • 你的意思是如果用户输入 5 它应该在星期五返回,对吗?

标签: c# asp.net dayofweek


【解决方案1】:

试试下面的代码:-

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

【讨论】:

  • 非常感谢您的回复,以及额外的 LINQ 类型转换。
【解决方案2】:

试试

CultureInfo.CurrentCulture.DateTimeFormat.DayNames[day No]

【讨论】:

  • 如果他想要 1,2,3 这样的多个数字怎么办?
  • 如果有人正在寻找缩写:CultureInfo.CurrentCulture.DateTimeFormat.AbbreviatedDayNames[day No]
  • 真棒答案,使用框架 BCL 而不是需要编码。
【解决方案3】:

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

((DayOfWeek)i).ToString();

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

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

((DayOfWeek)((i + 1) % 7)).ToString();

【讨论】:

    【解决方案4】:
    Enum.Parse(typeof(DayOfWeek),"0")
    

    其中“0”是字符串等价于星期几的整数值

    【讨论】:

      【解决方案5】:

      DateTime.Now中的DayOfWeek是一个枚举值,你可以通过解析成对应的值得到它的字符串值。

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

      你会得到你想要的结果。

      【讨论】:

        【解决方案6】:
        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
        

        【讨论】:

        • 返回“dddd”
        • 不在我的机器上...我在答案中包含了一个示例
        猜你喜欢
        • 2012-03-01
        • 2023-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-23
        • 2016-10-22
        • 2017-11-07
        相关资源
        最近更新 更多