【问题标题】:Convert Date datatype from SQL Server to ToShortDateString in C#在 C# 中将日期数据类型从 SQL Server 转换为 ToShortDateString
【发布时间】:2015-08-28 14:52:44
【问题描述】:

我正在尝试将日期输出从DataTable 转换为我的文本框中的ToShortDateString。目前它显示“2/4/1965 12:00:00 AM”。

代码如下:

 txtDOB.text = dataTable.Rows[0][7].ToString().Trim();

有什么想法吗?

【问题讨论】:

  • 列的数据类型是什么,它在您的 dataTable 中而不是您的数据库中(DateTIme,String)?
  • DateTime "日期 {2/4/1965 12:00:00 AM} System.DateTime"

标签: c# sql sql-server-2008


【解决方案1】:

使用DataRow 扩展方法Field 将其转换为正确的类型DateTime。然后你可以使用DateTime.ToShortDateString:

txtDOB.text = dataTable.Rows[0].Field<DateTime>(7).ToShortDateString();

你也可以使用DateTime.ToString:

txtDOB.text = dataTable.Rows[0].Field<DateTime>(7).ToString("d");

【讨论】:

    【解决方案2】:

    试试这个:

    DateTime Temp = (DateTime) dataTable.Rows[0][7]
    txtDOB.text = Temp.ToShortDateString();
    

    【讨论】:

      【解决方案3】:

      我会先尝试直接投射:

      var date = (DateTime)dataTable.Rows[0][7];
      txtDOB.Text = date.ToShortDateString();
      

      如果数据库将该字段存储为实际日期,这是取回它的最佳方式。

      【讨论】:

      • 伙计,我什至没有想过要投射它。谢谢!
      【解决方案4】:

      试试这个:

       string date = dataTable.Rows[0][7].ToString().Trim();
       txtDOB.text = date.Split(' ')[0];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多