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。
有什么想法吗?
因为您正在使用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");