【问题标题】:How to get the day name from a selected date?如何从选定的日期获取日期名称?
【发布时间】:2021-05-02 23:28:33
【问题描述】:

我有这个:Datetime.Now();23/10/2009
我想要这个:Friday

对于本地日期时间 (GMT-5) 并使用公历。

【问题讨论】:

  • 在接受了此处完全相同的答案之一之后...其他人会清理吗? :)
  • 6 个完全相同的答案.. 基本上 XD

标签: c# datetime


【解决方案1】:
//default locale
System.DateTime.Now.DayOfWeek.ToString();
//localized version
System.DateTime.Now.ToString("dddd");

为了让答案更完整:

【讨论】:

  • 我不会使用 ToString。如果您需要它进行比较或存储,只需使用枚举值即可。否则,使用 Fredrik 回答中的 dddd 格式说明符更适合本地化。
  • 本地化版本不正确并给出编译器错误。应该是System.DateTime.Now.ToString("dddd");
【解决方案2】:

如果您想知道一周中的哪一天让您的代码对其进行处理,DateTime.Now.DayOfWeek 将完成这项工作。

如果您想向用户显示星期几,DateTime.Now.ToString("dddd") 将根据当前文化 (MSDN info on the "dddd" format string) 为您提供本地化的日期名称。

【讨论】:

    【解决方案3】:
    System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.GetDayName(System.DateTime.Now.DayOfWeek)
    

    System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.GetDayName(DateTime.Parse("23/10/2009").DayOfWeek)
    

    【讨论】:

      【解决方案4】:

      DateTime.Now.DayOfWeek其实很容易猜到。

      对于任何给定日期:

         DateTime dt = //....
         DayOfWeek dow = dt.DayOfWeek; //enum
         string str = dow.ToString(); //string
      

      【讨论】:

      • 或者更简单的Datetime dt; string date = dt.DayOfWeek.ToString()
      【解决方案5】:
      DateTime now = DateTime.Now
      string s = now.DayOfWeek.ToString();
      

      【讨论】:

        【解决方案6】:

        试试这个:

        DateTime.Now.DayOfWeek
        

        【讨论】:

          【解决方案7】:

          这里更简单

          DateTime dt;
          string yourdate = dt.DayOfWeek.ToString()
          

          比声明多余的 DayOfWeek 好

          【讨论】:

            【解决方案8】:

            您正在寻找 DayOfWeek 属性。

            这是msdn article

            【讨论】:

              【解决方案9】:

              如果我们在这里使用 String.Format 会怎样

              DateTime today = DateTime.Today;
              String.Format("{0:dd-MM}, {1:dddd}", today, today) //In dd-MM format
              String.Format("{0:MM-dd}, {1:dddd}", today, today) //In MM-dd format

              【讨论】:

                【解决方案10】:
                (DateTime.Parse((Eval("date").ToString()))).DayOfWeek.ToString()
                

                Eval("date")的地方,你可以使用任何日期...获取日期名称

                【讨论】:

                  【解决方案11】:

                  我使用这个扩展方法:

                  public static string GetDayName(this DateTime date)
                  {
                      string _ret = string.Empty; //Only for .NET Framework 4++
                      var culture = new System.Globalization.CultureInfo("es-419"); //<- 'es-419' = Spanish (Latin America), 'en-US' = English (United States)
                      _ret = culture.DateTimeFormat.GetDayName(date.DayOfWeek); //<- Get the Name     
                      _ret = culture.TextInfo.ToTitleCase(_ret.ToLower()); //<- Convert to Capital title
                      return _ret;
                  }
                  

                  【讨论】:

                    【解决方案12】:
                            Random Rnd = new Random();
                            RandomDates Rdate = new RandomDates();
                            PaymentDetails Payd = new PaymentDetails();
                            DayOfWeek strDay = DateTime.Today.DayOfWeek;
                            var dateTime = DateTime.Now;
                            var dateValue2 = dateTime.ToString(@"MM\/dd\/yyyy");
                    
                    
                            StepDescription = "Fill MatterInformation. ";
                    
                            
                           
                    
                                Console.Write(" Input the Day : ");
                                dt = Convert.ToInt32(Console.ReadLine());
                                Console.Write(" Input the Month : ");
                                mn = Convert.ToInt32(Console.ReadLine());
                                Console.Write(" Input the Year : ");
                                yr = Convert.ToInt32(Console.ReadLine());
                                DateTime d = new DateTime(2021, 04, yr);
                                var culture = System.Threading.Thread.CurrentThread.CurrentCulture;
                                var diff = d.DayOfWeek - culture.DateTimeFormat.FirstDayOfWeek;
                                if (diff < 0)
                                    diff += 7;
                                var x = d.AddDays(-diff).Date;
                    
                    
                                dateTime = DateTime.Now;
                                dateValue2 = dateTime.ToString(@"MM\/dd\/yyyy");
                                Console.WriteLine($"Date Value: {dateValue2}");
                    
                               // strDay = 
                    
                            }
                            if (!strDay.Equals("Sunday") | !strDay.Equals("Saturday"))
                            {
                                Console.WriteLine("___________________OK____________________________________________");
                                // string NotificateionDate = Rdate.DateWithin_PastDays(Rnd.Next(30, 260)).ToString(@"MM\/dd\/yyyy");
                    
                                // CustomLibrary.seWaitUntilElementIsVisible(10, NotiFiedDateTab.Actions.seGetLocator(), "NotiFiedDateTab");
                                NotiFiedDateTab.Actions.Set(ControlPropertyNames.Text, dateValue2);
                    
                            }
                            else
                            {
                                Console.WriteLine("_________________________NOT______________________________________");
                                if (strDay.Equals("Sunday"))
                                {
                                    dateTime = dateTime.AddDays(-2);
                                    dateValue2 = dateTime.ToString(@"MM\/dd\/yyyy");
                                    NotiFiedDateTab.Actions.Set(ControlPropertyNames.Text, dateValue2);
                                }
                                else if (strDay.Equals("Saturday"))
                                {
                    
                                    dateTime = dateTime.AddDays(-1);
                                    dateValue2 = dateTime.ToString(@"MM\/dd\/yyyy");
                                    NotiFiedDateTab.Actions.Set(ControlPropertyNames.Text, dateValue2);
                                }
                            }
                          
                        }
                    

                    【讨论】:

                    • 请提供一些有见地的评论,说明此代码为确保答案的完整性所做的工作。
                    【解决方案13】:
                    using System;
                    using System.Collections.Generic;
                    using System.Linq;
                    using System.Text;
                    using System.Threading.Tasks;
                    namespace GuessTheDay
                    {
                    class Program
                    {
                        static void Main(string[] args)
                        { 
                     Console.WriteLine("Enter the Day Number ");
                     int day = int.Parse(Console.ReadLine());
                     Console.WriteLine(" Enter The Month");
                    int month = int.Parse(Console.ReadLine());
                    Console.WriteLine("Enter Year ");
                    int year = int.Parse(Console.ReadLine());
                    DateTime mydate = new DateTime(year,month,day);
                    string formatteddate = string.Format("{0:dddd}", mydate);
                    Console.WriteLine("The day should be " + formatteddate);
                    }  
                     } 
                       }
                    

                    【讨论】:

                    • 答案不够简洁。您应该正确阅读问题并给出易于阅读和理解的小型工作示例。
                    猜你喜欢
                    • 1970-01-01
                    • 2012-01-12
                    • 2015-02-24
                    • 2015-10-21
                    • 1970-01-01
                    • 1970-01-01
                    • 2017-03-17
                    相关资源
                    最近更新 更多