Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从SQL Server检索到的日期格式错误_C#_Sql Server - Fatal编程技术网

C# 从SQL Server检索到的日期格式错误

C# 从SQL Server检索到的日期格式错误,c#,sql-server,C#,Sql Server,我将日期保存在数据库中,格式类似于DateTime.Now.toSortDateString,数据库中的格式类似于yyyy MM dd 问题是,当我使用select查询检索该日期时,它会得到一个类似yyyy-MM-dd HH:MM:ss tt的日期 我的问题是如何以yyyy MM dd格式从数据库中获取日期 例如: 我的数据库表中的日期:2018-12-03 检索日期:2018-12-03 12:00:00 AM 我希望检索的日期如下:2018-12-03 有什么建议吗 您可以尝试使用以下方法:

我将日期保存在数据库中,格式类似于DateTime.Now.toSortDateString,数据库中的格式类似于yyyy MM dd

问题是,当我使用select查询检索该日期时,它会得到一个类似yyyy-MM-dd HH:MM:ss tt的日期

我的问题是如何以yyyy MM dd格式从数据库中获取日期

例如:

我的数据库表中的日期:2018-12-03 检索日期:2018-12-03 12:00:00 AM 我希望检索的日期如下:2018-12-03


有什么建议吗

您可以尝试使用以下方法:

DateTime.ParseExact(dateVariable, "yy/MM/dd HH:mm:ss", 
    CultureInfo.InvariantCulture
    ).ToString("MM-dd-yyyy")

您可以尝试使用以下方法:

DateTime.ParseExact(dateVariable, "yy/MM/dd HH:mm:ss", 
    CultureInfo.InvariantCulture
    ).ToString("MM-dd-yyyy")

您的问题是,表中的列仍然定义为完整日期时间,因此无论您如何插入或更新它,它都会添加额外的信息。您只需在选择上使用转换功能:


您的问题是,表中的列仍然定义为完整日期时间,因此无论您如何插入或更新它,它都会添加额外的信息。您只需在选择上使用转换功能:


您可以使用以下命令将结果转换为所需的字符串/确切日期格式 转换所需的类型、数据和格式。请看一下我的以下代码片段:

 declare @date as datetime
 declare @string varchar(30)
 declare @tempDate date

 set @date = '2012-02-03 12:00:03 AM'
 --convert into string format
 set @string = CONVERT(varchar, @date, 1)
 --convert into Date format, you want
 set @tempDate = CONVERT(date, @date,1)

 select @string as time
 select @tempDate as another

您可以使用以下命令将结果转换为所需的字符串/确切日期格式 转换所需的类型、数据和格式。请看一下我的以下代码片段:

 declare @date as datetime
 declare @string varchar(30)
 declare @tempDate date

 set @date = '2012-02-03 12:00:03 AM'
 --convert into string format
 set @string = CONVERT(varchar, @date, 1)
 --convert into Date format, you want
 set @tempDate = CONVERT(date, @date,1)

 select @string as time
 select @tempDate as another

如果你能提供一个数据集,你就可以将日期值转换成字符串,并按照你想要的方式格式化它,那就太棒了。我不知道你的代码是什么样子的,所以在这个阶段无法提供进一步的帮助。你想从数据库中获取什么类型的代码?如果它是DateTime而不是string,那么它只是用一个默认值初始化的,您不能用它做任何事情。因此,如果您能向我们展示您是如何使用这些检索到的数据的,以及真正的问题在哪里,那就更好了?澄清问题:您最初的问题被标记为C,但您似乎在问一个基于标题的SQL Server问题。。。只是想确认一下你需要什么?你需要用C语言转换还是通过SQL查询转换?如果你能提供一个简单的方法,你可以将日期值转换成字符串,并按照你想要的方式格式化,那就太棒了。我不知道你的代码是什么样子的,所以在这个阶段无法提供进一步的帮助。你想从数据库中获取什么类型的代码?如果它是DateTime而不是string,那么它只是用一个默认值初始化的,您不能用它做任何事情。因此,如果您能向我们展示您是如何使用这些检索到的数据的,以及真正的问题在哪里,那就更好了?澄清问题:您最初的问题被标记为C,但您似乎在问一个基于标题的SQL Server问题。。。只是想确认一下你需要什么?您需要用C语言转换还是通过SQL查询转换?谢谢。。问题来自查询,而不是cthanks中的代码。。问题来自于查询,而不是c中的代码