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

06/26/2009 00:00:00:000

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

我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。


当前回答

这适用于c# 10及以上版本,现在只有DateOnly和TimeOnly格式可用。使用下面的格式,您可以从DateTime格式中提取DateOnly。

DateOnly myDateNoTime = DateOnly.FromDateTime(DateTime.Now);

其他回答

DateTime。日期

var newDate = DateTime.Now; //newDate.Date property is date portion of DateTime

这段代码使您可以清楚地分别编写日期和时间

string time = DateTime.Now.Hour.ToString("00") + ":" + DateTime.Now.Minute.ToString("00") + ":" + DateTime.Now.Second.ToString("00");
        string date = DateTime.Now.ToString("M-dd-yyyy");
        MessageBox.Show(date + "\n" + time);

希望这能有所帮助。

将Date属性添加到DateTime变量

var dateTime = DateTime.Now
var onlyDate = dateTime.Date

或者您也可以使用DataType注释。

[DataType(DataType.Date)]
public DateTime dateTime {get; set;}

DataType注释位于System.ComponentModel.DataAnnotations命名空间内。

Date属性将返回午夜的日期。

一种方法是分别获取单个值(日/月/年),并将其存储为所需的类型。

var dateAndTime = DateTime.Now; 
int year = dateAndTime.Year;
int month = dateAndTime.Month;
int day = dateAndTime.Day;

string.Format("{0}/{1}/{2}", month, day, year);

您可以使用下面的简单代码。

代码:DateTime.Now.ToShortDateString ();

前任。 Console.WriteLine(DateTime.Now.ToShortDateString());