答案是使用ToString()方法可将DateTime对象格式化为字符串,支持预定义和自定义格式字符串,并可结合文化信息实现多语言输出。

在 .net 中,将 DateTime 对象格式化为字符串非常简单,主要使用 ToString() 方法,并传入指定的格式字符串。你可以使用预定义格式,也可以自定义格式来满足需求。
使用预定义格式化字符串
.NET 提供了一些内置的格式说明符,能快速输出常见的时间格式:
- dateTime.ToString(“d”):短日期格式,如 2025-04-05
 - dateTime.ToString(“D”):长日期格式,如 2025年4月5日(根据文化设置)
 - dateTime.ToString(“t”):短时间格式,如 14:30
 - dateTime.ToString(“T”):长时间格式,如 14:30:25
 - dateTime.ToString(“f”):完整日期与短时间,如 2025年4月5日 14:30
 - dateTime.ToString(“F”):完整日期与长时间,如 2025年4月5日 14:30:25
 - dateTime.ToString(“g”):通用短格式,如 2025/4/5 14:30
 - dateTime.ToString(“G”):通用长格式,如 2025/4/5 14:30:25
 
使用自定义格式化字符串
如果你需要更灵活的输出,可以组合格式字符来自定义显示方式:
- dateTime.ToString(“yyyy-MM-dd”) → 2025-04-05
 - dateTime.ToString(“dd/MM/yyyy HH:mm:ss”) → 05/04/2025 14:30:25
 - dateTime.ToString(“MM月dd日 yyyy年”) → 04月05日 2025年
 - dateTime.ToString(“hh:mm tt”) → 02:30 PM(12小时制带上午/下午)
 
常用格式符号:
- yyyy:4位年份
 - MM:2位月份
 - dd:2位日期
 - HH:24小时制小时
 - hh:12小时制小时
 - mm:分钟
 - ss:秒
 - tt:AM/PM 指示符
 
考虑文化信息(Culture)
格式化结果受当前线程的文化设置影响。你也可以显式指定文化:
dateTime.ToString(“D”, new CultureInfo(“en-US”)) → 英文长日期 dateTime.ToString(“D”, new CultureInfo(“zh-CN”)) → 中文长日期
这样可以确保在不同环境下输出一致。
基本上就这些。根据你要展示的场景选择合适格式即可。