这是要求
我将我的字段在我的类文件中声明为Datetime。
我正在接受一个字符串,我想将其转换为Datetime,因为我在课堂上提交的日期是
我总是将其作为
传递 String date="9999-12-31 00:00:00"
我想将此转换为日期时间,以便输出格式应与给定字符串相同
答案 0 :(得分:1)
只需更改
DateTime dt = DateTime.ParseExact(strDate, "yyyy-MM-ddTHH:mm:ss", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None);
到
DateTime dt = DateTime.Parse(strDate, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None);
这会将9999-12-31 21:34 PM
转换为9999-12-31
(如果使用dt.ToString("yyy-MM-dd")
)。
请注意,此DateTime将包含小时/分钟等。如果要从DateTime中删除小时/分钟,请使用以下内容:
dt = new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0, dt.Kind);
如果指定格式为DateTime.ParseExact,则输入字符串必须具有此格式才能转换为DateTime。您可以改为使用DateTime.Parse。
答案 1 :(得分:1)
很简单,您正在尝试使用格式字符串“yyyy-MM-ddTHH:mm:ss”解析“9999-12-31” - 它不符合,因为它没时间。
编辑:好的,所以你现在把输入更改为“9999-12-31 21:34 PM”,其中仍的格式不合适 - 没有T,没有秒,还有一个am / pm指示符。为什么不使用实际匹配输入的格式字符串?但如果“9999-12-31”是输入,您期待输出?
答案 2 :(得分:0)
DateTime.ParseExact(
strDate,
"yyyy-MM-dd hh:mm tt",
DateTimeFormatInfo.InvariantInfo,
DateTimeStyles.None);
答案 3 :(得分:0)
DateTime dt = DateTime.Parse(strDate, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None);