如何在 C# 中仅在日期时间对象中删除日期的时间部分

本文关键字:日期 删除 时间部 对象 时间 | 更新日期: 2023-09-27 18:34:38

我需要删除日期时间的时间部分,或者可能以对象形式而不是字符串形式具有以下格式的日期。

2014/06/26 00:00:00:000

我不能使用任何字符串转换方法,因为我需要对象形式的日期。

尝试首先将日期转换为字符串,从中删除特定于时间的日期,但是一旦我再次将其转换为 DateTime 对象,它就会添加 12:00:00 AM。

如何在 C# 中仅在日期时间对象中删除日期的时间部分

不能创建没有时间的 DateTime 对象。它总是有一些时间。

如果要在没有时间部分的情况下输出它,可以使用格式字符串来执行此操作:

date.ToString("MM/dd/yyyy");

标准日期和时间格式字符串
自定义日期和时间格式字符串

正如其他人所说,您可以访问date.Date以获取省略任何特定时间信息的值,但这仍将具有 00:00 AM 的时间。

可以使用 DateTime 对象的 Date 属性来获取仅一天。

DateTime dateOnly = date1.Date;

如果需要 DateTime 对象中的 Date 字符串,则通过提供格式来使用 ToString 方法。您可以在这篇 MSDN 文章中阅读有关自定义日期格式的详细信息。

string strDate =  date.ToString("MM/dd/yyyy");
var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;
日期

变量将包含日期,时间部分将为

00:00:00。

我需要删除日期时间的时间部分...

这是不可能的。如果没有时间信息,则无法拥有DateTime实例。例如,您不能仅将DateTime实例设置为06/26/2014实例或仅00:00:00:000实例。

如果您只想获取实例的日期部分,则可以使用DateTime.Date属性。

获取此实例的日期部分。

但是,这个.Date属性仍然将其时间部分分配给午夜。

请记住,DateTime没有任何隐式格式。它只有日期和时间值。格式的概念仅适用于要将其显示为string

在表示部分中,必须使用字符串表示为;

yourDateTime.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);