如何序列化秒显示为0的DateTime
本文关键字:DateTime 显示 序列化 | 更新日期: 2023-09-27 18:12:56
我有一些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")
这给了我一个错误,在dtDateTime.Subtract()
表达式上,因为这个日期是在1970年之前,当(我认为)Unix时间戳开始。如何简单地将dtDateTime
的seconds
部分设置为00
?
NB -代码简洁是很重要的。谢谢所有。
myDate = myDate.AddSeconds(-myDate.Second)
如果目的是只显示00
秒,那么只需将ss
替换为00
dtDateTime.ToString("M/dd/yyyy h:mm:00 tt", CultureInfo.InvariantCulture)
我还没有试过,但将格式更改为"M/dd/yyyy h:mm:00 tt"应该可以工作。
您可以尝试以下操作:
// create a new datetime based on this you have
DateTime dt = new DateTime(inputDate.Year,
inputDate.Month,
inputDate.Day,
inputDay.Hour,
inputDay.Minute,
0);
// print it to the console
Console.WriteLine(t.ToString("M/dd/yyyy h:mm:ss tt"));