如何序列化DateTime,秒显示为0?

use*_*119 2 c# datetime

我将在格式来计算某些日期时间的:dtDateTime.ToString("M/dd/yyyy h:mm:ss tt")我想保持ss格式,但只是将值设置为零.例:

变更前:

"7/14/2014 7:34:27 AM"

变更后:

"7/14/2014 7:34:00 AM"

我尝试过的:

dtDateTime = my DateTime
TimeSpan secondsDifference = dtDateTime.Subtract(new System.DateTime(0, 0, 0, 0, 0, dtDateTime.Second)
dtDateTime = dtDateTime.Date - secondsDifference;
return dtDateTime.ToString("M/dd/yyyy h:mm:ss tt")
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误,dtDateTime.Subtract()因为这个日期是在1970年之前,当时(我认为)Unix时间戳开始了.我怎么能简单地设置seconds的一部分dtDateTime00

NB - 代码简洁很重要.谢谢大家.

Hab*_*bib 11

如果目的是仅显示00秒,则只需替换ss00

dtDateTime.ToString("M/dd/yyyy h:mm:00 tt", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)


iro*_*ion 9

myDate = myDate.AddSeconds(-myDate.Second)
Run Code Online (Sandbox Code Playgroud)


And*_*nes 8

我没有尝试过,但将格式更改为"M/dd/yyyy h:mm:00 tt"应该可行.