Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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# 如果可能的话,以带有空格的格式获取日期时间,而不是斜杠_C#_Sql_Datetime - Fatal编程技术网

C# 如果可能的话,以带有空格的格式获取日期时间,而不是斜杠

C# 如果可能的话,以带有空格的格式获取日期时间,而不是斜杠,c#,sql,datetime,C#,Sql,Datetime,我正在尝试以这种格式获取日期 “yyyy-MM-dd” 它们之间有空格不是斜线,但不起作用 using (SqlDataReader r = sqlComm.ExecuteReader()) { if (r.Read()) { DateTime Date = Convert.ToDateTime((r["Date"]).ToString("yyyy/MM/dd")); 我根本无法对SQL存储过程进行任何更改 编

我正在尝试以这种格式获取日期

“yyyy-MM-dd”

它们之间有空格不是斜线,但不起作用

   using (SqlDataReader r = sqlComm.ExecuteReader())
    {
          if (r.Read())
          {
              DateTime Date 
= Convert.ToDateTime((r["Date"]).ToString("yyyy/MM/dd"));
我根本无法对SQL存储过程进行任何更改

编辑

很抱歉,它给了我上面的“25 10 2012 10:00:00 AM”或其他我不知道的东西;我不认为我做得很好,我只希望这样的日期“yyy-MM-dd”

从日期到字符串

var str= date.ToString("yyyy MM dd")
以及迄今为止的字符串

DateTime date = DateTime.ParseExact(string, "yyyy MM dd", CultureInfo.InvariantCulture);
从日期到字符串

var str= date.ToString("yyyy MM dd")
以及迄今为止的字符串

DateTime date = DateTime.ParseExact(string, "yyyy MM dd", CultureInfo.InvariantCulture);

\
换成空格怎么样

.ToString("yyyy MM dd")

\
换成空格怎么样

.ToString("yyyy MM dd")
所以您需要这种格式:“yyyy-MM-dd”,但您使用的是“yyy/MM/dd”

相反:

String dateString = r.GetDateTime(r.GetOrdinal("Date")).ToString("yyyy MM dd");
看:

所以你想要这种格式:“yyyy-MM-dd”,但你用的是“yyy/MM/dd”

相反:

String dateString = r.GetDateTime(r.GetOrdinal("Date")).ToString("yyyy MM dd");
查看:

A
DateTime
没有格式。它只是“从{epoch}起多长时间”,给出或获取一些偏移量/时区信息。如果源中的值是datetime,那么您只需要:

DateTime date = (DateTime)r["Date"];
然后,您可以稍后在UI中格式化它。但是重复:日期时间没有格式。

a
DateTime
没有格式。它只是“从{epoch}起多长时间”,给出或获取一些偏移量/时区信息。如果源中的值是datetime,那么您只需要:

DateTime date = (DateTime)r["Date"];

然后,您可以稍后在UI中格式化它。重复一次:
DateTime
没有格式。

基于Marc的答案,您可能对日期的
DateTime
对象与
字符串的实际工作方式有点困惑。
DateTime
只是从起点开始的偏移量

代码中的这一行首先从SQL读取器中的日期列获取值,然后将其转换为
“yyyy/MM/DD”
格式的字符串,最后将该字符串转换为
日期时间
对象

=Convert.ToDateTime((r[“Date”]).ToString(“yyyy/MM/dd”)

正如您所看到的,您最终得到的是一个
DateTime
对象,而不是您想要的显示
string
。如果您确实希望此代码只返回格式化的
字符串
,则最后一行应该是这样的:

编辑


=r.GetDateTime(r.GetOrdinal(“日期”)).ToString(“yyyy-MM-dd”)

基于Marc的答案,您可能对日期的
日期时间
对象与
字符串
表示的实际工作方式有点困惑。
DateTime
只是从起点开始的偏移量

代码中的这一行首先从SQL读取器中的日期列获取值,然后将其转换为
“yyyy/MM/DD”
格式的字符串,最后将该字符串转换为
日期时间
对象

=Convert.ToDateTime((r[“Date”]).ToString(“yyyy/MM/dd”)

正如您所看到的,您最终得到的是一个
DateTime
对象,而不是您想要的显示
string
。如果您确实希望此代码只返回格式化的
字符串
,则最后一行应该是这样的:

编辑



=r.GetDateTime(r.GetOrdinal(“日期”)).ToString(“yyyy-MM-dd”)

您是希望以该格式显示日期还是分析该格式的日期?您是指
还是其他什么东西?!?这就是你得到的输出吗@DEM不确定是否为零如果我再次尝试调试它,它实际上会花费我很多时间来b Hoenst你是想用那种格式显示日期还是用那种格式解析日期?你是什么意思?!?这就是你得到的输出吗@DEM不确定零如果我再次尝试调试它,它实际上会花费我很多时间来b hoenstexception:错误2方法“ToString”没有重载使用“1”ArgumentsOry,有一种更好的处理方法。请参阅edit.exception:错误2方法“ToString”没有重载接受“1”ArgumentsOry,有一种更好的处理方法。请看编辑。对不起,我看不出这个答案与OP的问题有什么关系。当然,我可能是一个noob,但一个简单的DateTime.ParseExact是他想要的。@tranceporter,因为OP接受了一个与
ToString()
相关的答案,这与
ParseExact
正好相反:我没有agree@tranceporter:否,OP正在分析日期(或格式为日期的对象)转换为字符串,然后将其转换回datetime对象。正如Marc所解释的,DateTime没有格式,但是可以在需要时使用ToString或string.format方法使用格式(稍后在UI中)。不确定OP想要什么,但我同意你的假设。然后,他再次尝试将ToString()转换为DateTime(convert.ToDateTime((r[“Date”]).ToString(“yyy/MM/dd”);),因此ParseExact并非完全无关!对不起,我不明白这个答案与OP的问题有什么关系。当然,我可能是一个noob,但一个简单的DateTime.ParseExact是他想要的。@tranceporter,因为OP接受了一个与
ToString()
相关的答案,这与
ParseExact
正好相反:我没有agree@tranceporter:否,OP正在分析日期(或格式为日期的对象)转换为字符串,然后将其转换回datetime对象。正如Marc所解释的,DateTime没有格式,但是可以在需要时使用ToString或string.format方法使用格式(稍后在UI中)。不确定OP想要什么,但我同意你的假设。然后,他再次尝试将ToString()转换为DateTime(convert.ToDateTime((r[“Date”]).ToString(“yyy/MM/dd”);),因此ParseExact并非完全无关!