0

我正在创建自己的日期时间选择器。我想按日期格式显示日期。日期格式包括“MM-dd-yyyy”等格式。

我写的代码如下:

public DateTime getCurrentDate(string dateFormat)
{            
     curDate = DateTime.Now;            
     IFormatProvider theCultureInfo = new System.Globalization.CultureInfo("en-us", true);
     return DateTime.ParseExact(curDate.ToShortDateString(), dateformat, theCultureInfo); 
}

当我执行程序时,它显示:字符串未被识别为有效的日期时间。

为我提供一些解决错误的解决方案。

4

2 回答 2

1

DateTime.ParseExact方法需要format of the stringspecified format exactly. 所以 DateTime.ParseExact(s,format,provider) 期望两者s(由提供者指定)并且format具有相同的格式,否则它会抛出String not recognized as a valid DateTime

在你的情况下 dateFormat 必须是

DateTime y = getCurrentDate("dd/MM/yyyy"); //or
DateTime x = getCurrentDate("MM/dd/yyyy");
于 2012-11-07T09:16:49.370 回答
0

终于,我明白了..我解决了这样的问题..

 public string getCurrentDate(string dateFormat)
 {
     curDate = DateTime.Now.ToShortDateString();
     curDate = String.Format("{0:" + dateFormat + "}", Convert.ToDateTime(curDate));
     return curDate;
 }
于 2012-11-09T05:13:34.547 回答