我正在使用以下内容来获取现在的时间/日期,以便为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;
}
答案 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");