如何将诸如2009-05-08 14:40:52,531这样的字符串转换为DateTime?
当前回答
试试下面的方法,strDate是你的日期,格式为'MM/dd/yyyy'
var date = DateTime.Parse(strDate,new CultureInfo("en-US", true))
其他回答
如果您不确定输入值,也可以如下所示使用DateTime.TryParseExact()。
DateTime outputDateTimeValue;
if (DateTime.TryParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out outputDateTimeValue))
{
return outputDateTimeValue;
}
else
{
// Handle the fact that parse did not succeed
}
你想快点吗?
假设您有一个格式为yyMMdd的日期。
我发现转换它的最快方法是:
var d = new DateTime(
(s[0] - '0') * 10 + s[1] - '0' + 2000,
(s[2] - '0') * 10 + s[3] - '0',
(s[4] - '0') * 10 + s[5] - '0')
只需根据您选择的日期格式选择索引。如果你需要速度,你可能不介意函数的“非泛型”方式。
此方法所需时间约为以下操作所需时间的10%:
var d = DateTime.ParseExact(s, "yyMMdd", System.Globalization.CultureInfo.InvariantCulture);
你基本上有两个选择。DateTime.Parse()和DateTime.ParseExact()。
第一个在语法方面非常宽容,将以许多不同的格式解析日期。它对可能以不同格式出现的用户输入很有帮助。
ParseExact将允许您指定用于解析的日期字符串的确切格式。如果您的字符串总是使用相同的格式,那么使用这个是很好的。通过这种方式,您可以轻松地检测出与预期数据的任何偏差。
你可以这样解析用户输入:
DateTime enteredDate = DateTime.Parse(enteredString);
如果你有一个特定的字符串格式,你应该使用另一种方法:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
“d”代表短日期模式(更多信息请参阅MSDN), null指定当前区域性应用于解析字符串。
DateTime。解析
语法:
DateTime.Parse(String value)
DateTime.Parse(String value, IFormatProvider provider)
DateTime.Parse(String value, IFormatProvider provider, DateTypeStyles styles)
例子:
string value = "1 January 2019";
CultureInfo provider = new CultureInfo("en-GB");
DateTime.Parse(value, provider, DateTimeStyles.NoCurrentDateDefault););
值:日期和时间的字符串表示形式。 提供者:提供特定区域性信息的对象。 样式:为某些日期和时间解析方法自定义字符串解析的格式化选项。例如,AllowWhiteSpaces是一个值,它有助于忽略字符串中出现的所有空格。
同样值得记住的是,DateTime是一个在框架内部存储为数字的对象,只有当你将它转换回字符串时,Format才适用于它。
解析:将字符串转换为内部数字类型。 将内部数值转换为可读的格式 字符串。
我最近有一个问题,我试图转换一个日期时间传递给Linq,我当时没有意识到的是格式是不相关的,当传递日期时间到Linq查询。
DateTime SearchDate = DateTime.Parse(searchDate);
applicationsUsages = applicationsUsages.Where(x => DbFunctions.TruncateTime(x.dateApplicationSelected) == SearchDate.Date);
完整的DateTime文档
转换。ToDateTime或DateTime。解析
推荐文章
- 远程主机强制关闭现有连接
- 如何选择记录从过去24小时使用SQL?
- 为什么ReSharper想要使用'var'的一切?
- 如何检查一个对象是否为空?
- 为什么要删除不必要的c#使用指令?
- 使用Pandas为字符串列中的每个值添加字符串前缀
- 我如何能匹配一个字符串与正则表达式在Bash?
- 为什么使用HttpClient进行同步连接
- 尝试模拟datetime.date.today(),但不工作
- 什么是MvcHtmlString,什么时候我应该使用它?
- 我怎么能找到一个列表<>的最后一个元素?
- 如何隐藏关闭按钮在WPF窗口?
- 确定文本文件中的行数
- 如何测试一个字符串是否包含列表中的一个子字符串,在熊猫?
- 生成错误:必须向系统添加引用。运行时