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

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

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

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


当前回答

在我的经验中,上述解决方案都不起作用,可能是因为我想从数据库中提取的日期中删除时间,但下面的代码工作得很好:

var date = target_date.Value.ToString("dd/MM/yyyy"); 

其他回答

获取DateTime对象的Date部分对我来说没有效果,因为我在客户端工作,返回的web服务值有一些空日期。结果,它试图获取空值的Date部分,并抛出运行时异常。下面是我解决问题的方法:

string dt = employer.BirthDay.ToString();
if(dt == ""){ dt = "N/A";}
else dt = dt.Substring(0,10);

将DateTime值作为字符串转换为字符串变量。 检查它是否为空。如果为空,分配一个字符串变量。 如果不为空,则获取字符串DateTime值的前10个字符并将其分配给字符串变量。

我分享这个是为了将来参考。

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

代码:DateTime.Now.ToShortDateString ();

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

试试这个,如果你使用DateTimeOffset,它也会照顾时区

date1 = date1.LocalDateTime.Date;

如果你需要增加工作时间,可以这样做:

date1 = date1.LocalDateTime.Date;
date1 = date1.AddHours(23).AddMinutes(59).AddSeconds(59);

最简单的方法是这样的,它只返回日期:

var date = DateTime.Now.ToShortDateString();

将变量声明为字符串。

例子:

public string dateOfBirth ;

然后赋值如下:

dateOfBirth = ((DateTime)(datetimevaluefromDB)).ToShortDateString();