无法解析日期时间

时间:2012-09-18 16:12:52

标签: c# asp.net datetime

var date = "05/18/2012";

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

DateTime.Parse(date);

我认为这里的问题是日期应该是日/月/年。问题是客户想要这种格式。该系统必须能够以英语和法语运行。我希望所有日期都以相同的方式解析,因此它们都是格式化的 - yyyy / MM / dd。

之前的例子似乎都不起作用。

编辑:我可以用2012/05/18格式设置日期,但是如何为DateTime.Now做到这一点?

2 个答案:

答案 0 :(得分:3)

应该是

string date = "05/18/2012";
DateTime dateA = DateTime.ParseExact(date, "MM/dd/yyyy", CultureInfo.InvariantCulture);
string newDate = dateA.ToString("yyyy-MM-dd");

答案 1 :(得分:2)

ParseExact允许您告诉解析器日期的格式。所以在您的示例中,您说它是yyyy / MM / dd所以您应该设置日期设置为" 2012/05/18&#34 ;它可以正确解析。

这是一个例子。

var date = "05/18/2012";
var date2 = "2012/05/18";

var pDate = DateTime.Parse(date);
var pDate2 = DateTime.ParseExact(date2, "yyyy/MM/dd", null);

Console.WriteLine("Normal Date Formated: " + pDate.ToString("yyyy/MM/dd"));
Console.WriteLine("Your Format, Parsed: " + pDate2.ToShortDateString());
Console.WriteLine("DateTime.Now Formatted: " + DateTime.Now.ToString("yyyy/MM/dd"));

输出

Normal Date Formated: 2012/05/18
Your Format, Parsed: 5/18/2012
DateTime.Now Formatted: 2012/09/18