Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 将日期时间解析为yyyy MM dd H:MM:ss_C#_Linq_Date_Datetime - Fatal编程技术网

C# 将日期时间解析为yyyy MM dd H:MM:ss

C# 将日期时间解析为yyyy MM dd H:MM:ss,c#,linq,date,datetime,C#,Linq,Date,Datetime,MystringQuery以以下格式返回datetime值08/05/2015 15:21:40,但我想以以下格式提取解析datetime-yyyy-MM-dd H:MM:ss作为datetime类型 我尝试了以下代码变体,但myconvert变量始终将日期时间返回为08/05/2015 15:21:40,而不是2015-05-08 15:21:40 var stringQuery = (from p in db.Database_CRE_Events

My
stringQuery
以以下格式返回datetime值
08/05/2015 15:21:40
,但我想以以下格式提取解析datetime-
yyyy-MM-dd H:MM:ss
作为
datetime
类型

我尝试了以下代码变体,但my
convert
变量始终将日期时间返回为
08/05/2015 15:21:40
,而不是
2015-05-08 15:21:40

   var stringQuery = (from p in db.Database_CRE_Events
                    select new Loan()
                    {
                        cDate = p.LastUpdated

                    }).FirstOrDefault();

        if (stringQuery != null && stringQuery.cDate.HasValue)
       {               
           var ott = stringQuery.cDate.Value;
           tt = ott.ToString("yyyy-MM-dd H:mm:ss zzz");
           //format = dtt.ToString("yyyy-MM-dd H:mm:ss");
           //convert = DateTime.ParseExact(inp, "yyyy-MM-dd H:mm:ss", provider);

       }
        convert = DateTime.ParseExact(tt, "yyyy-MM-dd H:mm:ss zzz", new CultureInfo("en-US"));
请进一步建议,我可能会错在哪里? 非常感谢

但是my convert变量始终返回日期时间为2015年5月8日 15:21:40,而不是2015-05-08 15:21:40

convert
的类型为
DateTime
它与格式无关。您看到的可能是以特定格式显示日期的调试器

DateTime
仅存储为一个数字(记号),格式用于演示


我甚至不知道为什么要先将
DateTime
对象转换为字符串,然后将其解析回
DateTime
,只需使用原始的
DateTime
对象,并在需要显示它的任何位置使用字符串格式

假设您希望DateTime是格式“yyyy-MM-dd H:MM:ss”结尾的字符串:

但是我想以以下格式提取解析datetime-yyyy-MM-dd H:MM:ss作为datetime类型


2015年5月8日15:21:40和2015年5月8日15:21:40是相同的。日期时间类型有不同的格式是没有意义的,除非你想在某个地方显示为字符串,格式很重要。

tt对象上的类型是什么?它的
字符串tt=“”08/05/2015 15:21:40和2015-05-08 15:21:40是等效的。否则,如何在不将代码转换为字符串的情况下格式化代码?此外,我要求日期时间显示为
2015-05-08 15:21:40
格式,这只是因为
convert
datetime类型在另一个只考虑日期时间类型的查询中被进一步使用。如果我的解释不够清楚,请道歉。谢谢你的回复和帮助。谢谢你的回复。如何将
result
变量设置为
DateTime
类型?它已经是
DateTime
类型了。如果要显式将其设置为
DateTime
,请将其声明为
DateTime
,而不是
var
。但两种情况都是一样的。是的,我知道这个事实。但是,我需要将日期时间作为
2015-05-08 15:21:40
传递给另一个linq查询
where子句
,其中,查询仅识别日期时间值,例如“2015-05-08 15:21:40”,而不是
08/05/2015 15:21:40
。在我看来,如果存在格式问题,LINQ查询使用字符串而不是日期时间进行比较。也发布你的LINQ查询。
var myFormat = "yyyy-MM-dd H:mm:ss";

tt = "08/05/2015 15:21:40"
var dbFormat = "MM/dd/yyyy hh:mm:ss";

var result = DateTime.ParseExact(tt, format , null);
var formattedResult = result.ToString(myFormat);