如何将DateTime #6/2/2023 03:57:00 PM#转为06/02/2023 12:00:00 AM?
VB.NET 日期时间转换解决方案
你的需求是将指定DateTime值的时间部分重置为当日零点,并按MM/dd/yyyy hh:mm:ss tt格式输出。原代码存在变量重复声明、依赖区域文化的问题,以下是修正后的实现:
实现代码
' 初始化原始日期时间 Dim purchaseDate As Date = #6/2/2023 03:57:00 PM# ' 重置时间为当日零点 Dim startOfDay As DateTime = purchaseDate.Date ' 格式化为指定字符串 Dim formattedDate As String = startOfDay.ToString("MM/dd/yyyy hh:mm:ss tt", Globalization.CultureInfo.InvariantCulture) ' 输出结果:06/02/2023 12:00:00 AM Console.WriteLine(formattedDate)
关键说明
- 使用
Date属性直接获取当日零点的DateTime对象,比字符串转换更高效且避免文化差异问题 - 格式化字符串
"MM/dd/yyyy hh:mm:ss tt"确保:MM:两位月份(06而非6)dd:两位日期(02而非2)hh:mm:ss tt:12小时制时间,带AM/PM标识
- 指定
InvariantCulture保证格式化结果不受系统区域设置影响
内容的提问来源于stack exchange,提问作者Ann
相关产品推荐
相关产品推荐

