我的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"));
请进一步告诉我,我可能在哪里出错了?非常感谢
但是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类型使用不同的格式是没有意义的,除非您想要将它作为字符串显示在某个地方,在那里格式很重要。