发布到Webserver时转换ToDateTime失败

时间:2018-01-12 07:43:50

标签: c# html asp.net datetime

我遇到了关于将String转换为Datetime的问题。 这是我的代码:

@if (Convert.ToDateTime(item.EXPIRED_DATE) <= DateTime.Now)
{
    <td><span style="color:red;">@item.EXPIRED_DATE</span></td>
}

当我在我的localhost上运行它时,它工作正常。但是当我在Webserver上发布它时,我收到了此错误消息:

  

异常详细信息:System.FormatException:String未被识别为有效的DateTime。

这是item.EXPIRED_DATE值

  

“31/01/2018”

请帮助我!

1 个答案:

答案 0 :(得分:1)

您可以使用DateTime.ParseExact

DateTime.ParseExact(item.EXPIRED_DATE, "dd/MM/yyyy", CultureInfo.InvariantCulture);

为什么你得到了你提到的错误?

您可以阅读here Convert.ToDateTime,因为您传递的值不为空,会调用DateTime.Parse并返回其结果。提到DateTime.Parse here(查看问题:我调用哪种方法?)使用的约定来解析日期和时间字符串当前文化。因此,您的程序当前的cutlure并不是DateTime的格式,而是您想要使用的格式。这就是您必须使用DateTime.ParseExact方法提供正确格式的原因。