我有一个timepan对象,只需要持有时间,没有日期.我会用
DateTime.Now.TimeOfDay
Run Code Online (Sandbox Code Playgroud)
但问题是它给格式化了时间
15:51:51.7368329
Run Code Online (Sandbox Code Playgroud)
我不想要毫秒组件.我该如何修剪它?
Moh*_*eth 11
您可以使用DateTime.Now.Hour/Minute/Second属性,也可以使用DateTime.Now.ToString("HH:mm:ss").
有关详细信息,请参阅此处:http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx
我相信这是你可能会追求的:
TimeSpan timeNow = DateTime.Now.TimeOfDay;
TimeSpan trimmedTimeNow = new TimeSpan(timeNow.Hours, timeNow.Minutes, timeNow.Seconds);
Run Code Online (Sandbox Code Playgroud)
简单地减去毫秒部分:
DateTime myTime = DateTime.Now.TimeOfDay;
myTime = myTime.AddMilliseconds(-myTime.Millisecond);
Run Code Online (Sandbox Code Playgroud)
它可以用更少的代码完成,而无需先分配给myTime:
DateTime myTime = DateTime.Now.TimeOfDay.AddMilliseconds(
-DateTime.Now.TimeOfDay.Millisecond);
Run Code Online (Sandbox Code Playgroud)
虽然有点优雅,但这是一个坏主意.当访问TimeOfDay两次时,在某个时刻它有可能在第二次访问之前已经过了另一毫秒.在那种情况下,结果不会是零毫秒.
| 归档时间: |
|
| 查看次数: |
12617 次 |
| 最近记录: |