从DateTime中摆脱毫秒的最佳方法是什么?
c#
当我从数据库中获取 DateTime 时,它返回
2021-06-23T12:30:40.1234564z但我想要的是2021-06-23T12:30:40z. 在这里摆脱毫秒的最佳方法是什么?谢谢。
回答
就个人而言,我使用这个:
dt = dt.Subtract(new TimeSpan(0, 0, 0, 0, dt.Millisecond));
它比可以使用的 Ticks-Modulo-Trickery 稍微冗长一些,但我喜欢它的可读性:代码的作用一目了然。
正如 JonSkeet 在评论中所建议的那样,这更紧凑且同样可读:
dt = dt.AddMilliseconds(-dt.Millisecond);
我比我的解决方案更喜欢它,因为在我的解决方案中,通过忘记一个0参数可以很容易地引入一个难以发现的错误。
- Slightly simpler: `dt = dt.AddMilliseconds(-dt.Millisecond)`