将YYYYMMDDHHMMSS的字符串值格式转换为C#DateTime

SAR*_*VAN 31 c# datetime

我需要将"YYYYMMDDHHMMSS"形式的字符串值转换为DateTime.但不确定如何,可能会使用DateTime.Tryparse来实现这一点.或者还有其他方法可以做到这一点.我可以使用一些字符串操作来单独使用"YYYYMMDD",转换为日期时间,然后分别将HH,MM,SS添加到该DateTime.但是,是否有任何DateTime.TryParse()方法可以在一行中使用将"YYYYMMDDHHMMSS"格式字符串值转换为DateTime值?

Mik*_*son 73

定义要使用的自己的解析格式字符串.

string formatString = "yyyyMMddHHmmss";
string sample = "20100611221912";
DateTime dt = DateTime.ParseExact(sample,formatString,null);
Run Code Online (Sandbox Code Playgroud)

如果您的日期时间为毫秒,请使用以下formatString

string format = "yyyyMMddHHmmssfff"
string dateTime = "20140123205803252";
DateTime.ParseExact(dateTime ,format,CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

谢谢


Pie*_*ant 18

您必须使用自定义解析字符串.我还建议包括不变文化,以确定这种格式与任何文化无关.另外,它会阻止某些代码分析工具发出警告.

var date = DateTime.ParseExact(value, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)