c# -自动将UTC转换为12h制

本文关键字:转换 12h UTC | 更新日期: 2023-09-27 18:16:28

我正在处理一个项目,它的功能需求之一是创建一个日期时间范围,我将在此基础上选择一组数据。

这个范围应该采用今天的日期时间从8:00:00到18:00:00,然后我想将格式转换为yyyy-MM-ddThh:mm:ssZ,所以我正在做以下操作来接近它:

DateTime fromTime = DateTime.Now;
TimeSpan ts = new TimeSpan(8,0,0);
fromTime = fromTime.Date + ts;
string fromTimeFormat = fromTime.ToString("yyyy-MM-ddThh:mm:ssZ");
DateTime toTime = DateTime.Now;
TimeSpan tss = new TimeSpan(18, 0, 0);
toTime = toTime.Date + tss;
string toTimeFormat = toTime.ToString("yyyy-MM-ddThh:mm:ssZ");

问题是,toTimeFormat被转换为12h系统,所以当我稍后使用它时,它被认为是6:00 AM。

有什么想法吗?

c# -自动将UTC转换为12h制

因为您正在使用hh说明符,这是12小时时钟格式。

您需要使用HH指定符,这是24小时时钟格式。

string toTimeFormat = toTime.ToString("yyyy-MM-ddTHH:mm:ssZ");

您可以将代码简化为;

string fromTimeFormat = DateTime.Today.AddHours(6).ToString("yyyy-MM-ddThh:mm:ssZ");   
string toTimeFormat = DateTime.Today.AddHours(18).ToString("yyyy-MM-ddTHH:mm:ssZ");