如何在DateTime中将时间设置为零

本文关键字:时间 设置 DateTime | 更新日期: 2023-09-27 18:09:33

假设我有以下DateTime变量

DateTime CurDate = '26/3/2014 12:00:00 AM';

我想知道如何设置CurDate,使其值变为26/3/2014 00:00:00 AM

请注意,我仍然想要时间,但都是零。

**p/S:之所以全部为零,是因为SQL Server中存储的日期时间值是26/3/2014 00:00:00.000。我需要将CurDate强制转换为全零,以便匹配数据库数据

如何在DateTime中将时间设置为零

您可以简单地使用

CurDate.Date and that will give you '26/3/2012 00:00:00'

尝试格式化DateTime:

DateTime dt = new DateTime(2014, 06, 21, 0, 0, 0);
Console.WriteLine(dt.ToString("dd.MM.yyyy HH:mm:ss tt"));

结果:

21.06.2014 00:00:00

更多信息:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110(.aspx

你可以试试这个:

// Parse the string you have, to create a datetime.
DateTime CurDate = DateTime.ParseExact('26/3/2014 12:00:00 AM', 
                                       "dd-MM-yyyy HH:mm:ss", 
                                        CultureInfo.InvariantCulture);
// Create the datetime you want based on the CurDate
DateTime result = new DateTime(CurDate.Year, CurDate.Month, CurDate.Day, 0, 0, 0);

有关ParseExact的更多信息,请查看此处。

SQL Server.NET中,没有任何日期显示。它们只是一个数值。不必在意,SQL Server.NET都非常智能,可以在没有任何混乱的情况下传递参数。只需传递正确数据类型的参数。

使用24小时格式

DateTime CurDate = DateTime.Parse("3/26/2014 12:00:00 AM");
Console.WriteLine("12 Hour Format: " + CurDate.ToString("dd-MM-yyyy hh:mm:ss"));
Console.WriteLine("24 Hour Format: " + CurDate.ToString("dd-MM-yyyy HH:mm:ss")); 

我知道已经晚了,但我认为这是未来参考的正确答案:

Console.WriteLine("Current Date with 0s on time part: " + DateTime.Now.ToString("yyyy-MM-dd 00:00:00.000"));
        this.dtGelisSaati = DateTime.Now;

设置当前时间值

        this.dtGelisSaati = DateTime.Today;

这个ok。设置了零时间值。

Put.Date并获取时间为零的日期部分。我使用Linq作为:

var list=结果。其中(x=>x.ExpDate.Date>=起始日期&x.ExpDate.Date<=结束日期(.ToList((;