解析日期时间为yyyy-MM-dd H:mm:ss

本文关键字:mm ss yyyy-MM-dd 日期 时间 | 更新日期: 2023-09-27 17:49:18

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

我已经尝试了以下代码变化,但我的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"));

请进一步告诉我,我可能在哪里出错了?非常感谢

解析日期时间为yyyy-MM-dd H:mm:ss

但是my convert变量一直返回日期时间为08/05/2015,而不是2015-05-08 15:21:40

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

DateTime仅存储为一个数字(ticks),格式用于表示目的。

我甚至不知道为什么你试图转换一个DateTime对象字符串首先,然后解析回DateTime,只需使用原来的DateTime对象和使用字符串格式,无论你需要显示它。

假设您希望您的DateTime为"yyyy-MM-dd H:mm:ss"格式末尾的字符串:

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);

但是我想以以下格式提取解析日期时间- yyyy-MM-dd H:mm:ss作为日期时间类型。

08/05/2015 15:21:40和2015-05-08 15:21:40相同。对于DateTime类型使用不同的格式是没有意义的,除非您想要将它作为字符串显示在某个地方,在那里格式很重要。