【问题标题】:Format Exception - removal of time from DateTime格式异常 - 从 DateTime 中删除时间
【发布时间】:2017-05-03 10:37:55
【问题描述】:

我在 Visual Studio 中使用 MVC 工作。我的目标是从我的数据库中名为 DTStamp 的列中删除日期中的时间。我能够在视图中成功地修改具有相同数据类型 DateTime 的其他字段,如下所示:

@item.NoteDate.ToString("MM/dd/yyyy")

但是 DTStamp 在我的模型中给了我一个错误:

quotes1.DTStamp = DateTime.Parse(DT.Rows[i]["DTStamp"].ToString());

说明用户代码未处理格式异常。字符串未被识别为有效的日期时间。

这可能是因为并非所有单元格都有值。请帮忙。

【问题讨论】:

  • 调试的时候DT.Rows[i]["DTStamp"].ToString()的值是多少?
  • 它显示了日期,即; (2017 年 5 月 1 日下午 2:35:44}
  • 但是,当它遍历第 4456 行时,它会显示:{ }
  • 也许看看TryParse
  • 所以DTStamp 可以为空?

标签: c# datetime model-view-controller


【解决方案1】:

如果是因为并非所有单元格都有值,那么不妨试试TryParse

DateTime dateValue;

if(DateTime.TryParse(DT.Rows[i]["DTStamp"].ToString(), out dateValue)
{
   <td>@dateValue.ToString("MM/dd/yyyy")</td>
}
else
{
    <td></td>
}

也许这会给你一个想法。希望对您有所帮助。

【讨论】:

    【解决方案2】:
    if(!String.IsNullOrEmpty(DT.Rows[i]["DTStamp"].ToString())) {
        quotes1.DTStamp= DateTime.Parse(DT.Rows[i]["DTStamp"].ToString());
    }
    

    【讨论】:

      猜你喜欢
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 2017-12-11
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多