如何以有效的方式在C#中只打印日期和时间(而不是秒)

本文关键字:时间 日期 打印 有效 方式 | 更新日期: 2023-09-27 18:27:29

我正在为我使用的文件使用LastWriteTime属性,以打印上次修改的时间。然而,在这里,当我使用时,我会得到一个类似的值

"2011年2月12日上午11:58:45"。

(i) 你能帮助忽略这里的秒吗?这意味着输出应该是这样的:2011年12月2日上午11:58

(ii)此外,我如何确保我在处理时区,因为文件中的LastWriteTime可能与其他GEO时间一致。你能帮忙处理一下吗?

(iii)此外,如何处理这里的文化问题,因为CurrentCulture与机器不同?

如何以有效的方式在C#中只打印日期和时间(而不是秒)

DateTime.ToString('g')的模式:

0    MM/dd/yyyy HH:mm    08/22/2006 06:30
1    MM/dd/yyyy hh:mm tt 08/22/2006 06:30 AM
2    MM/dd/yyyy H:mm     08/22/2006 6:30
3    MM/dd/yyyy h:mm tt  08/22/2006 6:30 AM

来源:DateTime.ToString Patterns

您可以使用g格式来表示您想要的日期:

 string date = File.GetLastWriteTime("file").ToString("g");

对于TimeZoneDateTime不包含相关的TimeZone信息。你得自己处理。

也许这会帮助你:http://hashfactor.wordpress.com/2009/02/02/c-parsing-datetime-with-timezone/