我有此代码,但出现错误:
无法将'System.DateTime'转换为'string'。
我正在尝试仅以HH:MM
格式从日期中提取时间部分。
IFormatProvider provider = CultureInfo.InvariantCulture;
q.CIP_START_TIME = DateTime.ParseExact(q.CIP_START_TIME, "hhmm", provider);
q.CIP_END_TIME = DateTime.ParseExact(q.CIP_END_TIME, "hhmm", provider);
q.CIP_VRB_TIME = DateTime.ParseExact(q.CIP_VRB_TIME, "hhmm", provider);
答案 0 :(得分:2)
我认为您误解了ParseExact
的使用。 format参数告诉.NET输入的格式,而不是输出的格式。输出的格式始终相同-包含日期和时间的二进制DateTime对象。
要将其转换回字符串,可以使用ToString()
,并传递格式说明符以仅发出小时和分钟:
q.CIP_START_TIME = DateTime.Parse(q.CIP_START_TIME).ToString("HH:mm");