我想保存C#中的当前日期时间格式,并将其转换为SQL Server日期格式,例如yyyy-MM-dd HH:mm:ss
,以便在我的UPDATE
查询中使用。
这是我的第一份代码:
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
日期的输出正常,但时间总是“12:00:00”,因此我将代码更改为以下内容:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.TimeOfDay.ToString("HH:mm:ss");
我遇到了编译错误:
未处理的FormatException
建议我进行解析。根据我在StackOverflow上的研究,我尝试对我的代码进行如下更改:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");
或者string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");
但告诉我这是一种不适用于给定情境的方法。我尝试寻找解决方案已经卡了两个小时了。我在C#上还有点新,请你帮帮我好吗?
DateTime
,或者您是将其存储为字符串?ToString
在Date
上的使用会暗示时间始终为12:00:00
。 - V4VendettaDATETIME
的参数化查询,这样就可以避免在字符串表示和日期格式之间来回转换的繁琐操作! - marc_sdatetime
是一个不错的开始。更好的是,你为什么要传递服务器当前时间呢?它有一个GETDATE()
函数可以完全在服务器端调用。 - Damien_The_Unbeliever