繁体   English   中英

如何从选定的日期获取日期名称?

[英]How to get the day name from a selected date?

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

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

//default locale
System.DateTime.Now.DayOfWeek.ToString();
//localized version
System.DateTime.Now.ToString("dddd");

为了使答案更完整:

如果你想知道你的代码在一周中的哪一天用它做某事, DateTime.Now.DayOfWeek将完成这项工作。

如果您想向用户显示星期几, DateTime.Now.ToString("dddd")将根据当前文化( “dddd”格式字符串上的 MSDN 信息DateTime.Now.ToString("dddd")为您提供本地化的日期名称。

System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.GetDayName(System.DateTime.Now.DayOfWeek)

要么

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

DateTime.Now.DayOfWeek实际上很容易猜到。

对于任何给定日期:

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

试试这个:

DateTime.Now.DayOfWeek

您正在寻找 DayOfWeek 属性。

这是msdn 文章

如果我们在这里使用 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

(DateTime.Parse((Eval("date").ToString()))).DayOfWeek.ToString()

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

我使用这个扩展方法:

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;
}
        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);
            }
        }
      
    }

这里更简单

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

比宣布多余的 DayOfWeek 好

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);
}  
 } 
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM