我正在使用一个项目,其功能要求之一是创建一个日期时间范围,我将根据该范围选择一组数据。
这个范围应该是今天的日期时间从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。
有什么想法吗?
答案 0 :(得分:1)
因为您使用hh
specifier格式的12-hour clock。
您需要使用HH
specifier格式的24-hour clock。
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");