C# DateTime.ParseExact正在引发以下错误";字符串未被识别为有效的日期时间;
我正在为我的sharepoint构建一个控制台应用程序。现在我有一个名为“OrderLiveDeliveredDate”的DateTime字段,我想根据另一个名为“CustomerOrderContractLengthmonth”的字段值为它添加月份 现在,“OrderLiveDeliveredDate”日期格式如下所示C# DateTime.ParseExact正在引发以下错误";字符串未被识别为有效的日期时间;,c#,datetime,sharepoint,C#,Datetime,Sharepoint,我正在为我的sharepoint构建一个控制台应用程序。现在我有一个名为“OrderLiveDeliveredDate”的DateTime字段,我想根据另一个名为“CustomerOrderContractLengthmonth”的字段值为它添加月份 现在,“OrderLiveDeliveredDate”日期格式如下所示{15/06/2018 00:00:00}。因此,我编写了以下代码行,将字段值转换为DateTime,然后添加月份:- DateTime expiryDate = DateTim
{15/06/2018 00:00:00}
。因此,我编写了以下代码行,将字段值转换为DateTime,然后添加月份:-
DateTime expiryDate = DateTime.ParseExact(item["OrderLiveDeliveredDate"].ToString(), "dd/mm/yyyy", CultureInfo.InvariantCulture).AddMonths(int.Parse( item["CustomerOrderContractLengthmonth"].ToString()));
但这引发了以下例外情况:-
字符串未被识别为有效的日期时间
是否尝试此操作
DateTime expiryDate = DateTime.ParseExact("15/06/2018", "dd/MM/yyyy", CultureInfo.InvariantCulture).AddMonths(int.Parse("2"));
我已从日期字符串中删除了时间组件。如果必须使用时间组件,请尝试以下操作
DateTime expiryDate = DateTime.ParseExact("15/06/2018 00:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture).AddMonths(int.Parse("2"));
快速测试用测试仪-
代码:
你试过这个吗
DateTime expiryDate = DateTime.ParseExact("15/06/2018", "dd/MM/yyyy", CultureInfo.InvariantCulture).AddMonths(int.Parse("2"));
我已从日期字符串中删除了时间组件。如果必须使用时间组件,请尝试以下操作
DateTime expiryDate = DateTime.ParseExact("15/06/2018 00:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture).AddMonths(int.Parse("2"));
快速测试用测试仪-
代码:
要求格式字符串完全匹配
根据文件
使用指定的格式和区域性特定的格式信息,将日期和时间的指定字符串表示形式转换为其等效的日期时间。字符串表示形式的格式必须与指定的格式完全匹配。
(我的重点。)
在您的情况下,假设{15/06/2018 00:00:00}
是存储在项[“OrderLiveDeliveredDate”]
中的实际值,您希望将“{dd/MM/yyyyy HH:MM:ss}”作为格式字符串。如果大括号不是字符串的成员,则“dd/MM/yyyy HH:MM:ss”
应该可以正常工作。要求格式字符串完全匹配
根据文件
使用指定的格式和区域性特定的格式信息,将日期和时间的指定字符串表示形式转换为其等效的日期时间。字符串表示形式的格式必须与指定的格式完全匹配。
(我的重点。)
在您的情况下,假设{15/06/2018 00:00:00}
是存储在项[“OrderLiveDeliveredDate”]
中的实际值,您希望将“{dd/MM/yyyyy HH:MM:ss}”作为格式字符串。如果大括号不是字符串的成员,则“dd/MM/yyyy HH:MM:ss”
应该可以正常工作。ParseExact需要精确匹配。如果您的日期字符串字面上是{15/06/2018 00:00:00}
,那么您应该匹配到“{dd/MM/yyyy hh:MM:ss}”
您需要在几个月内使用大写的M
。小写的m
是分钟。ParseExact需要精确匹配。如果您的日期字符串字面上是{15/06/2018 00:00:00}
,那么您应该匹配到“{dd/MM/yyyy hh:MM:ss}”
您需要在几个月内使用大写的M
。小写的m
是分钟。