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

时间:2014-06-21 06:22:20

标签: c# datetime

假设我有以下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转换为全零以匹配数据库数据

6 个答案:

答案 0 :(得分:1)

您只需使用

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

答案 1 :(得分:1)

尝试格式化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

答案 2 :(得分:1)

无处,在SQL Server.NET日期内没有任何陈述。它们只是一个数值。不关心这一点,SQL Server.NET如此聪明,可以传递参数而不会产生任何混淆。只需传递正确数据类型的参数。

答案 3 :(得分:1)

使用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")); 

答案 4 :(得分:0)

你可以尝试这个:

// 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的详情,请查看here

答案 5 :(得分:0)

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

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