我遇到了关于将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”
请帮助我!
答案 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
方法提供正确格式的原因。