将值设置为属性C#日期时间错误格式

时间:2019-01-30 19:09:58

标签: c# asp.net datetime asp.net-core datetime-format

当您在类的属性中选择数据值时,会产生以下错误“输入字符串格式不正确”。

我正在转换日期,就像它生成正确的图像一样,但是分配错误时会生成。

我将其转换为DateTime并也将其创建为新的,但是仍然发生错误。

使用Scheduled = sd时也会发生同样的情况

我正在使用asp.net核心

enter image description here

1 个答案:

答案 0 :(得分:2)

1。尽管没有抛出此异常,但Convert.ToDateTime困扰着我。

首先,您不应在日期时间对象上调用Convert.ToDateTime。 它不会引发异常,但也不会进行任何转换。

在此处引用MSDN Documentation

2。该例外有明确的详细信息,说明无法将字符串转换为数字

堆栈跟踪显示“ System.Number.StringToNumber”转换失败。

因此这是其他3个字符串属性之一,您正尝试将它们转换为Int64或long。

如果在调试模式下运行解决方案,您将通过行号知道哪个属性。

3。如果您的值是整数字符串(例如“ 10”),即使它不起作用,那么机器的区域性设置也会出现问题。

请参阅完整的thread here

这是说有时您无法从“ 10”到整数10的转换失败,因为某些注册表设置未正确设置。您可以通过以下方式纠正它们:

  

虽然可以直接编辑问题关键字的值,   首选方法是将“区域设置”更改为其他   区域/语言,然后将其重置为所需的设置:

     
      
  1. 从控制面板中打开“区域和语言选项”小程序。
  2.   
  3. 注意当前格式。
  4.   
  5. 将当前格式更改为英语(澳大利亚)
  6.   
  7. 点击“应用”。
  8.   
  9. 将“当前格式”更改为注释的格式,例如英语(美国)。
  10.   
  11. 单击“应用”,然后单击“确定”。
  12.   

这应该可以解决您的问题。