在 C# 中将特定格式的 dateTime 字符串转换为 DateTime
本文关键字:字符串 dateTime 转换 DateTime 格式 定格 | 更新日期: 2023-09-27 17:56:52
我有一个格式化的日期时间字符串,我想将其转换回日期时间,但是当我解析或将该字符串转换为日期时间时,它会抛出该字符串不是有效的日期时间。
以下是创建日期时间字符串的方式
string temp = dt.Year.ToString("D4") +
dt.Month.ToString("D2") +
dt.Day.ToString("D2") +
dt.Hour.ToString("D2") +
dt.Minute.ToString("D2") +
dt.Second.ToString("D2");
这是我如何将其解析回日期时间
DateTime dtchk = DateTime.Parse(temp);
是的,但这发生在不同的模块中。
我什至不明白这是什么意思。我认为你只需要;
DateTime dtchk = dt;
而已。但无论如何..我试图解释;
由于"D"
格式说明符会生成带有前导零的字符串表示形式(如果字符串长度小于精度说明符),因此temp
将是月、日、小时等这些更宽格式的组合。
如果此字符串是CurrentCulture
的标准日期和时间格式,DateTime.Parse
成功解析您的字符串。在您的情况下,事实并非如此。
您需要使用 ParseExact
解析字符串以准确指定格式。
DateTime dtchk = DateTime.ParseExact(temp, "yyyyMMddHHmmss", null);