var date = "05/18/2012";
DateTime.ParseExact(date, "yyyy/MM/dd", CultureInfo.InvariantCulture)
DateTime.Parse(date);
我认为这里的问题是日期应该是日/月/年。问题是客户想要这种格式。该系统必须能够以英语和法语运行。我希望所有日期都以相同的方式解析,因此它们都是格式化的 - yyyy / MM / dd。
之前的例子似乎都不起作用。
编辑:我可以用2012/05/18格式设置日期,但是如何为DateTime.Now做到这一点?
答案 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