【发布时间】:2011-05-05 06:29:31
【问题描述】:
我收到的日期格式为:
18/04/2011 4:57:20 PM
DateTime.Parse() 方法不访问它。
有没有办法让它将18/04/2011 4:57:20 PM 转换为返回Date 对象April 18, 2011?
【问题讨论】:
标签: c# datetime datetime-format
我收到的日期格式为:
18/04/2011 4:57:20 PM
DateTime.Parse() 方法不访问它。
有没有办法让它将18/04/2011 4:57:20 PM 转换为返回Date 对象April 18, 2011?
【问题讨论】:
标签: c# datetime datetime-format
这看起来不像标准格式。日期是 en-GB,时间是 en-US。因此,我建议您使用 DateTime.ParseExact 并传递格式:
DateTime parsed = DateTime.ParseExact("18/04/2011 4:57:20 PM",
"dd/MM/yyyy h:mm:ss tt",
CultureInfo.InvariantCulture);
【讨论】:
首先,要更改日期的格式,您需要一个DateTime 值。您不能格式化字符串日期。使用DateTime.ParseExact 从格式化的日期字符串中提取日期值:
DateTime dateValue =
DateTime.ParseExact(stringDateValue, "dd/MM/yyyy h:mm:ss tt",
CultureInfo.InvariantCulture);
然后你可以使用DateTime.ToString(format)来提取一个格式化的字符串值:
resultStringDateValue = dateValue.ToString("MMM dd, yyyy");
【讨论】:
试试这个:
DateTime dt = DateTime.ParseExact(dateString, "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
【讨论】:
您可以使用 ParseExact 或更好的 TryParseExact(失败时不生成异常),通过这两种方法您可以将格式提供程序描述作为参数传递:
DateTime.ParseExact(strDate, "dd/MM/yyyy HH:mm:ss", null);
【讨论】:
【讨论】:
你应该使用 Convert.ToDateTime(String)
http://msdn.microsoft.com/es-es/library/xhz1w05e(v=VS.90).aspx
您必须查看 Convert.ToDateTime 是否接受您要输入的格式。
【讨论】:
您的日期格式是 mm/dd/yyyy 没有 18 月份
试试这个
DateTime.Parse("04/18/2011 4:57:20PM").ToShortDateString();
【讨论】:
你试过了吗
DateTime.Now.ToString("MMM dd, yyyy")
【讨论】: