繁体   English   中英

将 C# 字符串解析为 DateTime

[英]Parse C# string to DateTime

我有一个这样的字符串:250920111414

我想从该字符串创建一个 DateTime 对象。 截至目前,我使用子字符串并这样做:

string date = 250920111414;

int year = Convert.ToInt32(date.Substring(4, 4));
int month = Convert.ToInt32(date.Substring(2, 2));
...
DateTime dt = new DateTime(year, month, day ...);

是否可以使用字符串格式,在没有子字符串的情况下做同样的事情?

绝对地。 从你的字符串猜测格式,你可以使用ParseExact

string format = "ddMMyyyyHHmm";

DateTime dt = DateTime.ParseExact(value, format, CultureInfo.InvariantCulture);

TryParseExact

DateTime dt;
bool success = DateTime.TryParseExact(value, format, 
                     CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);

后一个调用将在解析失败时简单地返回false ,而不是抛出异常 - 如果您可能有不应该导致整个任务失败的错误数据(例如,它是用户输入,而您只想提示他们),那么这是更好的调用使用。

编辑:有关格式字符串详细信息的更多详细信息,请参阅 MSDN 中的“自定义日期和时间格式字符串”

你可以使用:

DateTime dt = DateTime.ParseExact(
                  date, 
                  "ddMMyyyyHHmm",
                  CultureInfo.InvariantCulture);
string iDate = "05/05/2005";
DateTime oDate = Convert.ToDateTime(iDate);
DateTime oDate = DateTime.ParseExact(iString, "yyyy-MM-dd HH:mm tt",null);


日期时间格式

暂无
暂无

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

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