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

时间:2014-12-19 07:30:29

标签: c# .net datetime

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

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

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

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

4 个答案:

答案 0 :(得分:8)

您无法在其中创建DateTime对象。它总是有一段时间。

如果您想在没有时间部分的情况下输出它,可以使用format string来执行此操作:

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

Standard Date and Time Format Strings
Custom Date and Time Format Strings

正如其他人所说,你可以访问date.Date来获取一个值,其中省略了任何特定的时间信息,但仍然会有00:00 AM的时间。

答案 1 :(得分:5)

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

DateTime dateOnly = date1.Date;

如果您想要DateTime对象中的Date字符串,请使用ToString方法为其提供格式。您可以在此MSDN article中详细了解自定义日期格式。

string strDate =  date.ToString("MM/dd/yyyy");

答案 2 :(得分:2)

  

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

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

如果您只想获得实例的日期部分,可以使用DateTime.Date property

  

获取此实例的日期组件。

但是,这个.Date属性将它的时间分配给午夜。

请注意,DateTime没有任何隐式格式。它只有日期和时间值。 format 的概念仅在您希望将其显示为string时适用。

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

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

答案 3 :(得分:2)

var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;

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