我正在尝试将两个字符串值解析为DateTime。
DateTime processStartTime = DateTime.ParseExact(currentDateTime.Date.ToString("dd-MM-yyyy") + " " + "00:00", "dd-MM-yyyy hh:mm", System.Threading.Thread.CurrentThread.CurrentCulture);
DateTime processEndTime = DateTime.ParseExact(currentDateTime.Date.ToString("dd-MM-yyyy") + " " + "13:00", "dd-MM-yyyy hh:mm", System.Threading.Thread.CurrentThread.CurrentCulture);
第一个语句正常,但第二个语句失败,异常 -
字符串未被识别为有效的DateTime
我做错了什么?
答案 0 :(得分:7)
对于24小时格式,您必须使用HH:mm
代替hh:mm
The "hh" custom format specifier:
表示小时数字从01到12 ;也就是小时 由 12小时制表示,计算自此以来的整个小时数 午夜或中午。
The "HH" custom format specifier:
" HH"自定义格式说明符(加上任意数量的附加" H" 说明符)将小时表示为数字从00到23 ;那 是,小时由基于零的 24小时制表示 午夜时分。使用a格式化一位数小时 领先零。
答案 1 :(得分:0)
您是否真的将DateTime对象转换为字符串然后将其转换回DateTime?否则你可以写:
var startTime = currentDateTime.Date;
var endTime = currentDateTime.Date.AddHours(13);