从字符串中确定AM/PM为“05:00:00”

本文关键字:PM 字符串 AM | 更新日期: 2023-09-27 18:02:07

我有一个看起来像"05:00:00"的字符串。我使用以下代码将其转换为c#中的日期时间。

var time = DateTime.ParseExact(row.l_file_time, "HH:mm:ss", System.Globalization.CultureInfo.GetCultureInfo("en-US" )); var x = time.ToString("tt");

c#认为05:00是早上,应该是下午。是否有一种方法来转换考虑的时间是基于工作时间?

从字符串中确定AM/PM为“05:00:00”

不,DateTime使用24小时时间,因此解析"5:00"将始终返回相当于上午5点的值。

"工作时间"不是固定的,即使在一个文化中(也许我在晚上工作!),所以任何类型的逻辑都需要由您编写,而不是在框架中提供。

这个逻辑很容易看起来像:

if (time.Hour < 9) // less than 9AM, it must be PM!
  time.AddHours(12);