字符串作为日期时间字符串无效-转换“”;yyyyMMdd”;到日期时间
本文关键字:字符串 时间 日期 yyyyMMdd 无效 -转换 | 更新日期: 2023-09-27 18:20:38
我有"yyyyMMdd"格式的字符串。我想用格式将它们转换为DateTime,但我收到一个错误,说该字符串作为DateTime字符串无效。我该怎么做?
使用DateTime.ParseExact
指定格式和不变区域性:
var date = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);
尝试DateTime.TryParseExact
DateTime dt;
DateTime.TryParseExact(textBox.Text, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
使用DateTime.ParseExact
:
string dateString = "20130701";
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", null, DateTimeStyles.None);
这个问题以前有人问过并回答过。但这里有一个工作代码的例子:
string DateString = "20130701";
DateTime DT = DateTime.ParseExact(DateString, "yyyyMMdd", CultureInfo.InvariantCulture);
其中CultureInfo.InvariantCulture
是System.Globalization命名空间的一部分。http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=vs.71).aspx
将它们分解为DateTime.Parse将接受为有效的格式。您甚至可以使用正则表达式来解析信息
Regex format = new Regex("(?<year>^[0-9]{4})(?<month>[0-9]{2})(?<day>[0-9]{2})");
Match m = format.Match(inputString);
int year = int.Parse(m.Groups["year"].Value;
int month = int.Parse(m.Groups["month"].Value;
int day = int.Parse(m.Groups["day"].Value;
DateTime date = new DateTime(year, month, day);