我需要转换24小时格式的日期时间,并且必须将其显示为12小时格式。我得到了答案,将其转换为12小时格式的字符串并显示为字符串。
但我需要显示日期时间格式。所以我使用了Convert.ToDateTime(datetime),但它再次将datetime更改为24小时格式,还有更好的方式转换为12小时格式吗?
提前致谢。
答案 0 :(得分:1)
Following MSDN (DateTime Structure):
在内部,所有DateTime值都表示为自0001年1月1日午夜12:00:00起经过的刻度数(100纳秒间隔的数量)。实际的DateTime值与中的方式无关。当在用户界面元素中显示或写入文件时,该值会出现。 DateTime值的出现是格式化操作的结果。格式化是将值转换为字符串表示形式的过程。
所以DateTime只是一些滴答。
如果您想显示日期,那么您实际上希望将此数字格式化为人类可读的格式。
答案 1 :(得分:0)
以下是一个例子:
Action<string> display = Console.WriteLine;
DateTime now = DateTime.Now;
display($"24 hour format: {now:F}"); // 13:31:20
display($"12 hour format: {now:hh:mm:ss}"); // 01:31:20
display($"24 hour format: {now:HH:mm:ss}"); // 13:31:20