从C#中的DateTime中提取日期部分

Rau*_*auf 62 c# comparison datetime

代码行DateTime d = DateTime.Today;导致10/12/2011 12:00:00 AM.我怎样才能得到日期部分.当我比较两个日期时,我需要忽略时间部分.

Sre*_*r P 113

DateTime是一个DataType,用于存储DateTime.但是它提供了属性来获取DatePart.

您可以从DateProperty 获取Date部分.

http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx

DateTime date1 = new DateTime(2008, 6, 1, 7, 47, 0);
Console.WriteLine(date1.ToString());

// Get date-only portion of date, without its time.
DateTime dateOnly = date1.Date;
// Display date using short date string.
Console.WriteLine(dateOnly.ToString("d"));
// Display date using 24-hour clock.
Console.WriteLine(dateOnly.ToString("g"));
Console.WriteLine(dateOnly.ToString("MM/dd/yyyy HH:mm"));   
// The example displays the following output to the console:
//       6/1/2008 7:47:00 AM
//       6/1/2008
//       6/1/2008 12:00 AM
//       06/01/2008 00:00
Run Code Online (Sandbox Code Playgroud)

  • [这里](http://stackoverflow.com/a/39316624/2218697)是**另一个解决方案**使用`String.Format`,希望帮助某人. (2认同)

Ode*_*ded 31

没有办法"丢弃"时间组件.

DateTime.Today 是相同的:

DateTime d = DateTime.Now.Date;
Run Code Online (Sandbox Code Playgroud)

如果您只想显示日期部分,只需这样做 - 使用ToString您需要的格式字符串.

例如,使用标准格式字符串 "D"(长日期格式说明符):

d.ToString("D");
Run Code Online (Sandbox Code Playgroud)

  • +1:有时答案只是一个`.` (6认同)

Øyv*_*hen 15

仅比较数据时间的日期时,请使用Date属性.所以这应该适合你

datetime1.Date == datetime2.Date
Run Code Online (Sandbox Code Playgroud)


Nik*_* G. 12

DateTime d = DateTime.Today.Date;
Console.WriteLine(d.ToShortDateString()); // outputs just date
Run Code Online (Sandbox Code Playgroud)

如果要比较日期,忽略时间部分,请使用DateTime.YearDateTime.DayOfYear属性.

代码段

DateTime d1 = DateTime.Today;
DateTime d2 = DateTime.Today.AddDays(3);
if (d1.Year < d2.Year)
    Console.WriteLine("d1 < d2");
else
    if (d1.DayOfYear < d2.DayOfYear)
        Console.WriteLine("d1 < d2");
Run Code Online (Sandbox Code Playgroud)


小智 5

你可以使用格式字符串

DateTime time = DateTime.Now;              
String format = "MMM ddd d HH:mm yyyy";     
Console.WriteLine(time.ToString(format));
Run Code Online (Sandbox Code Playgroud)