加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – datetime.parse用西班牙语进行游行,每隔一个月都

发布时间:2020-12-16 07:10:17 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET MVC 3站点中有一个奇怪的验证失败,其中一个文本框接受通过 jqueryui选择的日期时间.该网站已经过定制,仅适用于es-ES文化,并且大部分时间都可以使用,但在该文本框中每次使用某个月时验证都会失败. datetime.parse方法适用于除march之外的每个月:
我在ASP.NET MVC 3站点中有一个奇怪的验证失败,其中一个文本框接受通过 jqueryui选择的日期时间.该网站已经过定制,仅适用于es-ES文化,并且大部分时间都可以使用,但在该文本框中每次使用某个月时验证都会失败. datetime.parse方法适用于除march之外的每个月:

DateTime.Parse("15-feb-2012",CultureInfo.GetCultureInfo("es"),DateTimeStyles.None)
{15/02/2012 0:00:00}
    Date: {15/02/2012 0:00:00}

DateTime.Parse("15-ene-2012",DateTimeStyles.None)
{15/01/2012 0:00:00}
    Date: {15/01/2012 0:00:00}

DateTime.Parse("15-abr-2012",DateTimeStyles.None)
{15/04/2012 0:00:00}
    Date: {15/04/2012 0:00:00}

除了3月份,每个月都有工作,Marzo用西班牙语…

DateTime.Parse("15-mar-2012",DateTimeStyles.None)
DateTime.Parse("15-mar-2012",DateTimeStyles.None)' threw an exception of type 'System.FormatException'
    base {System.SystemException}: {"String was not recognized as a valid DateTime."}

任何的想法?

解决方法

使用NUnit重现:

[Test]
[ExpectedException(typeof(FormatException),ExpectedMessage = "String was not recognized as a valid DateTime.")]
public void ParsingWithAbbreviatedSpanishMarchBlowsUp()
{
   var dt = DateTime.Parse("15-mar-2012",CultureInfo.GetCultureInfo("es-ES"),DateTimeStyles.None);
}

尝试设置格式,这有效:

var format = "dd-MMM-yyyy";
var input= "15-mar-2012";
var dt = DateTime.ParseExact(input,format,new CultureInfo("es-ES"));
Console.WriteLine(dt);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读