如何从C#的DateTime对象中获取仅日期部分?
有几种方法可以从 DateTime对象 中仅获取日期部分。
ToShortDateString() -将当前 DateTime 对象的值转换为其等效的短日期字符串表示形式。
返回包含当前 DateTime对象的短日期字符串表示形式的字符串。
ToLongDateString() -将当前DateTime对象的值转换为其等效的长日期字符串表示形式。
返回包含当前DateTime对象的长日期字符串表示形式的字符串。
ToString() -从DateTime获取日期的另一种方法是使用ToString()扩展方法。
使用ToString()扩展方法的优点是我们可以指定要获取的日期的格式。
DateTime.日期 -还会从DateTime中去掉时间并仅提供我们日期。
与上面的示例方法的区别在于,这里的日期没有转换为字符串。
使用DateTime的扩展方法示例 -
示例
using System;
namespace DemoApplication{
public class Program{
public static void Main(){
var dateTime = DateTime.Now;
Console.WriteLine("DateTime Value: {dateTime}");
var shortDateValue = dateTime.ToShortDateString();
Console.WriteLine("Short Date Value: {shortDateValue}");
var longDateValue = dateTime.ToLongDateString();
Console.WriteLine($"Long Date Value: {longDateValue}");
Console.ReadLine();
}
}
}
输出结果
以上程序的输出结果为:
DateTime Value: 07-08-2020 21:36:46
Short Date Value: 07-08-2020
Long Date Value: 07 August 2020
使用 DateTime.Date 的示例 −
示例
using System;
namespace DemoApplication{
public class Program{
public static void Main(){
var dateTime = DateTime.Now;
Console.WriteLine("DateTime Value: {dateTime}");
var dateValue = dateTime.Date;
Console.WriteLine("Date Value: {dateValue}");
Console.ReadLine();
}
}
}
输出
以上代码的输出结果为
DateTime Value: 07-08-2020 21:45:21
Date Value: 07-08-2020 00:00:00
使用ToString()扩展方法的示例 −
示例
using System;
namespace DemoApplication{
public class Program{
public static void Main(){
var dateTime = DateTime.Now;
Console.WriteLine("DateTime Value: {dateTime}");
var dateValue1 = dateTime.ToString("MM/dd/yyyy");
Console.WriteLine("Date Value: {dateValue1}");
var dateValue2 = dateTime.ToString("dd/MM/yyyy");
Console.WriteLine("Date Value: {dateValue2}");
var dateValue3 = dateTime.ToString("d/M/yy");
Console.WriteLine("Date Value: {dateValue3}");
Console.ReadLine();
}
}
}
输出
上述代码的输出为:
DateTime Value: 07-08-2020 21:58:17
Date Value: 08-07-2020
Date Value: 07-08-2020
Date Value: 7-8-20