【发布时间】:2014-09-19 12:01:21
【问题描述】:
在 DateTime 类型的变量中我有这个值 = {30/07/2014 0:00:00}
我只想要日期:
var aux = pedido.ord_cus_deliv_date.ToString().Split(' ')[0];
有了它,我正确地获得了 30/04/2014
但是当我想使用 MM/dd/yyyy 进行转换时:
var aux2 = DateTime.ParseExact(aux, "MM/dd/yyyy", null);
我有这个错误:
该字符串表示公历日历中不允许的一个日期时间
为什么我在 aux2 中有这个错误?
【问题讨论】:
-
试试 DateTime.TryParse,它将处理 MM/dd/yyyy(假设您的文化是正确的)
-
mm,你可以 DateTime xy = DateTime.Parse(whatever_string);然后只获取日期 xy.Date
-
我很确定您的字符串变量 aux 不包含您期望的字符串。
-
不要这么肯定,我有我说的正确的字符串格式的结果,再看看问题
-
30 in "30/07/2014" 不是有效的月份数(12 月是最后一个,它是第 12 个),因此 "MM/dd/yyyy" 不是正确的解析模式。请改用“dd/MM/yyyy”或确保使用正确的字符串 - 您的问题存在一些差异:“with it({30/07/2014 0:00:00}???) 我得到 04/ 30/2014"。