将控制器中ajax帖子的日期转换为yyyyMMdd
本文关键字:日期 转换 yyyyMMdd 控制器 ajax | 更新日期: 2023-09-27 18:26:05
我在控制器的ajax帖子中得到了一些字符串中的日期。
代码
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年1月10日。
当尝试解析时,获取此错误。String was not recognized as a valid DateTime.
有什么帮助吗??。
好吧,从客户端收到的格式是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);