我的过期日期是“10/31/2015 12:00:00 AM”,表示为MM/dd/YYYY hh:mm:ss AM,但它是来自SAP的字符串。如何将其转换为MM/dd/YYYY?下面的代码不起作用,出现错误:
这篇博客的代码是有效的:
"String was not recognized as a valid DateTime."
我该如何使用linq实现这个功能?
var query = deliveriesItemsbypaging.Select(tb => tb.ExpiryDate)
.AsEnumerable() // Do the rest of the processing locally
.Select(x => DateTime.ParseExact(x.Split(new char[0])[0], "MM/dd/yyyy", CultureInfo.InvariantCulture));
这篇博客的代码是有效的:
var r = DateTime.ParseExact("10/31/2015 12:00:00 AM".Split(new char[0])[0], "MM/dd/yyyy", CultureInfo.InvariantCulture);
DateTime.ParseExact("10/31/2015 12:00:00 AM", "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
- M. WiśnickiExpiryDate
的数据类型是什么?为什么数据库本身不是DateTime
类型?将日期存储为字符串是一个非常严重的错误。与其尝试解析数据,不如修复数据库架构。 - Panagiotis Kanavos