【问题标题】:how to disable displaying time in datatype smalldatetime如何禁用在数据类型 smalldatetime 中显示时间
【发布时间】:2011-07-01 17:30:57
【问题描述】:

我有一个文本框,应该以 dd/MM/yyyy 格式插入日期。只有我能找到和使用的是 smalldatetime 或 datetime。我选择 smalldatetime,显示的数据例如 01/07/2011 12:00:00 AM。任何涉及解决此问题的代码仅显示 01/07/2011(没有时间)?

SqlJobMaster.InsertParameters["StartDate"].DefaultValue = txtStartDate.Text.ToString();

ASP.NET

开始日期

【问题讨论】:

  • 显示数据的是什么?您只谈到了如何将其插入数据库,这不是问题所在......
  • @Jon Skeet 01/07/2011 12:00:00 AM 它在我的 gridView 中显示为这样。
  • 你检查过ToShortDateString() 吗?尝试在您拥有的 DateTime 对象上使用它
  • @Commando:是的,所以需要更改的是网格视图,就其使用的格式而言...

标签: c# asp.net types smalldatetime


【解决方案1】:

使用ToString("dd/MM/yyyy");。然后它将按照您想要的方式进行格式化。

【讨论】:

    【解决方案2】:

    我没有在ASP.NET中使用GridView,但是根据this article你基本上需要为相关的BoundField设置DataFormatString属性,例如到"{0:dd/MM/yyyy}"。不过,如果您的应用要在多种文化中使用,您应该考虑文化差异:"{0:d}" 是通用的“当前文化的短日期模式”格式字符串。

    【讨论】:

      【解决方案3】:

      类似这样的:

      String.Format("{0:MM/dd/yyyy}", dt);            
      

      【讨论】:

      • 把这个放在哪里?我的 DateTime dt = DateTime.Parse(txtStartDate.Text); SqlJobMaster.InsertParameters["StartDate"].DefaultValue = dt.ToShortDateString();还是不行
      • string s = String.Format("{0:MM/dd/yyyy}", dt);这只是你想显示它的时候......如果你将它存储到你的数据库中,就不需要做这样的事情
      【解决方案4】:

      你可以试试:

      DateTime dt = DateTime.Parse(txtDate.Text);
      SqlJobMaster.InsertParameters["StartDate"].DefaultValue = dt.ToShortDateString();
      

      【讨论】:

      • DateTime dt = txtStartDate.Text;当我声明这一点时,它显示无法将 type'string' 隐式转换为 'System.DateTime'
      • 对不起... DateTime.Parse(txtDate.Text)
      • 仍然不工作。仍然显示时间。这是我的代码 DateTime dt = DateTime.Parse(txtStartDate.Text); SqlJobMaster.InsertParameters["StartDate"].DefaultValue = dt.ToShortDateString();
      猜你喜欢
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多