繁体   English   中英

在C#中将特定格式的dateTime字符串转换为DateTime

[英]Convert a specific format dateTime string to DateTime in C#

我有一个格式化的日期时间字符串,我想将其转换回日期时间,但是当我解析该字符串或将其转换为日期时间时,它将抛出异常,但该字符串不是有效的日期时间。

这是创建DateTime字符串的方法

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的方式

 DateTime dtchk = DateTime.Parse(temp);

是的,但是这是在另一个模块中发生的。

甚至不明白那是什么意思。 我认为你只需要;

DateTime dtchk = dt;

而已。 但是无论如何..我试图解释;

由于"D"格式说明符会在字符串长度小于精度说明符时生成带前导零的字符串表示形式,因此您的temp将是月,日,小时等这些较宽格式的组合。

如果此字符串是CurrentCulture标准日期和时间格式 ,则DateTime.Parse成功解析您的字符串。 就您而言,事实并非如此。

您需要使用ParseExact解析字符串以准确指定格式。

DateTime dtchk = DateTime.ParseExact(temp, "yyyyMMddHHmmss", null);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM