2014-10-10 75 views
0

我在ajax發佈到控制器的字符串中獲取了一些日期。轉換日期從控制器中的ajax發佈到yyyyMMdd

代碼

public ActionResult ModifyPartnerForOrganization(Guid partnerID, string aliasName, string effectiveDate, string expirationDate) 
     { 
      Partner partner = new Partner(); 
      partner.PartnerId = partnerID; 
      partner.ExternalId = aliasName; 
      partner.EffectiveDate = DateTime.ParseExact(effectiveDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None); 
      partner.ExpirationDate = DateTime.ParseExact(expirationDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None); 
} 

從客戶端來的日期是在MM-DD-YYYY格式例如01/10/2014(just for explanning adding the 01/oct/2014) to controller as 2014年10月1日。

當試圖解析得到這個錯誤。 String was not recognized as a valid DateTime.

對此有何幫助?

回答

0

好吧,從客戶端收到的格式是mm/dd/yyyy。那麼你應該分析它這樣,不喜歡yyyyMMdd

DateTime.ParseExact(effectiveDate, "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None); 

還要注意使用MM代替mm,因爲mm是分鐘,而不是幾個月。


你到目前爲止指定的所有格式:

string effectiveDate = "01/10/2014"; 
string effectiveDate2 = "30/oct/2014"; 
string effectiveDate3 = "1/10/2014"; 

DateTime d = DateTime.ParseExact(effectiveDate, "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None); 
DateTime d2 = DateTime.ParseExact(effectiveDate2, "dd/MMM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None); 
DateTime d3 = DateTime.ParseExact(effectiveDate3, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None); 
+0

它不工作嘗試使用上面的代碼後一樣... – ankur 2014-10-10 09:07:18

+0

,我面對這個問題,我通過從客戶端這個日期2014年10月30日轉換爲2014年1月30日,因此是錯誤的。我期待的是2014年10月30日轉換爲2014-10-30。 – ankur 2014-10-10 09:11:38

+0

但是這種格式不是你指定爲'mm/dd/yyyy'的格式... – 2014-10-10 09:12:36

相關問題