【发布时间】:2019-12-02 22:38:00
【问题描述】:
当我搜索最大时间时。人们总是从 VS 调试器中回答这个问题。这是 23:59:59.9999999
因为我需要 24 种格式的 12 AM。我想这将是 00:00:00 但是... C# .NET 假设如下:
var xx = DateTime.MaxValue.ToString("HH:mm:ss.fffffff");
之前调试时会打印 23:59:59.9999999
我应该使用什么?有关系吗?有什么区别?
应该使用 00:00:00 吗?或 23:59:59.9999999 特别是当 在 SQL-Server 中节省 时间。
当您通过 hh:mm:ss 将 24 格式转换为 12 小时格式时,最终用户的大问题或我的意思是不良行为 它会显示 11:59:59 PM 它会丑是不是?应该是12:00:00 AM.
毕竟,黑曜石时代根据用例很好地回答了这个问题。
【问题讨论】:
-
我会avoid using 12 AM and 12 PM altogether to prevent confusion -- 你说的时间是午夜。在可能的情况下,不要依赖“一天中最后可能的时间”,因为(尤其是在使用精度有限的
DATETIME时)您可能会遇到表示该值或对其进行四舍五入的问题。存储这么多 9 需要一个TIME(7),如果您实际上不需要那么高的精度,那就太浪费了。 -
@Christopher 一分钟几乎总是有 60 秒。在上面的评论中,“驾驶”可能应该是“驾驶”。
-
奇怪的是,当我使用我的 PC 时钟进行调试时,它显示 00:00:00,但
DateTime.MaxValue是 23:59:59。我的意思是一天的结束时间是上午 12 点?那有什么问题。我应该用什么?我的意思是正确使用。 -
那么 23:59:59 是什么时候??
-
这里甚至被问到什么?它似乎是大约午夜或前一秒,但随后它声称等于
12:00:00 PM,这是错误的。它询问带有小数秒和整秒的格式。它似乎与显示给最终用户的格式有关,但随后添加了“特别是在 SQL-Server 中节省时间时”,格式不适用。如果您要显示时间到秒并且时间是11:59:59 PM,那么就显示它;你为什么要把它改成别的东西?11:59:58 PM是否也会发生变化,或者阈值在哪里?为什么11:59:59 PM“丑”?
标签: c# .net datetime datetime-format timespan