c# - 如何将字符串解析为日期时间?

标签 c# string parsing datetime

我有产品列表,每个产品都有 DateTime 类型的创建日期。我想取一些在我输入时间后创建的字符串类型的产品。

我在字符串类型中输入EnteredDate,像这样format : 05/16/2012

1.    var dates = from d in Products
2.                where d.CreateDate >= DateTime.ParseExact( EnteredDate, "mm/dd/yy", null )
3.                select d;

在第二行我收到错误,因为 String 未被识别为“mm/dd/yy”的有效日期时间。 我还尝试了 DateTime.Parse()、Convert.ToDateTime() 并得到了同样的错误。 如何按创建日期过滤此产品列表?

最佳答案

“mm”是分钟,你的年份是 4 位数字,而不是 2 位。你想要“MM/dd/yyyy”,如果你的格式是真的总是那样。你在这方面有多自信? (特别是,如果它是由用户输入的,您可能应该让您的代码对文化敏感...)

不过,我建议将解析部分从查询中提取出来,如果您真的有固定格式,也可能使用不变区域性进行解析:

DateTime date = DateTime.ParseExact(EnteredDate, "MM/dd/yyyy",
                                    CultureInfo.InvariantCulture);

var dates = Products.Where(d => d.CreateDate >= date);

关于c# - 如何将字符串解析为日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12085821/

相关文章:

c# - 在 GridView 中单击“删除”按钮时显示文本

c# - 使用正则表达式删除文本 block ,仅匹配第一次出现

来自 Assets 的 Android 输入流文件 : FileNotFoundExeption

c++ - 动态规划 : Counting numbers in between

.NET 中的 SQL Server T-SQL 解析器用于检查语法和对象存在

C# 将文本文件拆分为二维字符串数组

c# - Environment.Exit 需要很长时间才能关闭应用程序

c# - 子表单从多个父表单获取属性

python - 获取 django 模型字符串字段作为 str 而不是 unicode

javascript - 如何创建搜索语言?