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