SQL格式的日期时间不返回时间

时间:2014-02-28 11:40:36

标签: c# asp.net sql

我正在使用以下内容来获取现在的时间/日期,以便为sql insert提供一个很好的格式。日期工作正常,但时间总是返回0:0:0。

 public static String getDateString()
        {
            DateTime time = DateTime.Now;
            String sqlFormattedDate = time.Date.ToString("yyyy-MM-dd HH:mm:ss");

            return sqlFormattedDate;
        }

4 个答案:

答案 0 :(得分:6)

会发生这种情况,因为您使用的是Date,而不是DateTime:

只需离开日期部分,它就会按预期运行。

public static String getDateString()
        {
            DateTime time = DateTime.Now;
            String sqlFormattedDate = time.ToString("yyyy-MM-dd HH:mm:ss");

            return sqlFormattedDate;
        }

答案 1 :(得分:1)

问题:您正在尝试从Date值获取日期和时间。 time.Date仅包含Date而不是Time,这就是为什么您总是0:0:0为时的原因。

解决方案:您需要直接在ToString("yyyy-MM-dd HH:mm:ss")变量DateTime上调用time函数。

试试这个:

public static String getDateString()
    {
      DateTime time = DateTime.Now;
      String sqlFormattedDate = time.ToString("yyyy-MM-dd HH:mm:ss");
      return sqlFormattedDate;
    }

答案 2 :(得分:0)

这是由你的指示造成的。

String sqlFormattedDate = time.Date.ToString("yyyy-MM-dd HH:mm:ss");

如您所见[{3}},通过使用时间对象的属性“Date”,您只使用实际日期时间值的日期部分。基本上.Date返回一个“新实例”,其中时间部分已设置为默认的00:00:00。

只需删除“.Date”部分,以便指令如下所示,它应该可以工作:

String sqlFormattedDate = time.ToString("yyyy-MM-dd HH:mm:ss");

答案 3 :(得分:0)

使用

String sqlFormattedDate = time.ToString("yyyy-MM-dd HH:mm:ss");