首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC中本地工作正常的服务器中的数据格式错误

MVC中本地工作正常的服务器中的数据格式错误
EN

Stack Overflow用户
提问于 2015-12-14 17:37:06
回答 1查看 589关注 0票数 0

我有一个上传excel表到数据库的功能。验证之一是检查excel表格中给出的日期格式是否为dd/MM/yyyy

为此,我执行正则表达式检查,如下所示

代码语言:javascript
复制
if (!checkRegex(member["DOB"].ToString().Trim()))
{
  ModelState.AddModelError("DOBFORMAT", "Date of Birth is not in dd/MM/YYYY for record " + count + ". Please check");
System.IO.File.Delete(pathToExcelFile);
return View();
}

并且正则表达式检查函数是

代码语言:javascript
复制
      public bool checkRegex(string inputstring)
                {
            DateTime date;
           string format;

        Regex regex = new Regex(@"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]|(?:Jan|Mar|May|Jul|Aug|Oct|Dec)))\1|(?:(?:29|30)(\/|-|\.)
    (?:0?[1,3-9]|1[0-2]|(?:Jan|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\2))
    (?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)(?:0?2|(?:Feb))\3
    (?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|
    (?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9]|(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep))|(?:1[0-2]|(?:Oct|Nov|Dec)))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$");
 try
{
 date = Convert.ToDateTime(inputstring);
 format = "dd/MM/yyyy";
 string check = date.ToString(format);
 if (regex.IsMatch(check))
     return true;
else
     return false;
   }


     catch
                    {
                        return false;
                    }
        }

当我从server上传一个带有"27/08/1983"的excel工作表时,它给出错误,日期格式对于记录是错误的。

我用localhost做了同样的尝试,并进行了调试。传入正则表达式,上传成功。

serverlocalhost中的日期格式为"dd/MM/yyyy"

其他excel工作表也正在成功上载。

请说明一下这个问题。

EN

回答 1

Stack Overflow用户

发布于 2015-12-15 05:33:12

我认为您的问题是,当您尝试从字符串创建一个datetime对象时,您的代码在下面这一行崩溃。

代码语言:javascript
复制
date = Convert.ToDateTime(inputstring);

代码语言:javascript
复制
DateTime parsedDate;

if(DateTime.TryParseExact(inputstring,"dd/MM/yyyy",CultureInfo.CurrentCulture,
                                                     DateTimeStyles.None,out parsedDate))
{
    // parsedDate is a valid DateTime object now
    // return true;
}
else
{
    // could not create a valid DateTime object from inputString
    // return false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34263629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档