简体   繁体   English

.NET 4.5中的DateTime问题

[英]DateTime in .NET 4.5 Issue

I'm trying to parse a DateTime in .NET 4.5. 我正在尝试解析.NET 4.5中的DateTime。 This is the code. 这是代码。

var rawDatetime = "10-11-2012, 11:19 AM";
var format = "MM-dd-yyyy, hh:mm tt";
var ok = DateTime.TryParseExact(rawDateTime, format, new CultureInfo("en-US"), DateTimeStyles.None, out dateTime);

This gives ok==false , and dateTime=010101 . 这给出ok==false ,并且dateTime=010101 What am I doing wrong? 我究竟做错了什么? Does the framework have a bug? 框架是否有错误?

Fixed with "DateTime.TryParseExact(rawDateTime, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);" 通过“ DateTime.TryParseExact(rawDateTime,format,CultureInfo.InvariantCulture,DateTimeStyles.None,out dateTime)修复”;

Are you sure this isn't the typo of rawDatetime vs rawDateTime (which are different variables and could have different values)? 您确定这不是rawDatetimerawDateTime (它们是不同的变量,可能具有不同的值)吗?

It works fine for me: 这对我来说可以:

var rawDateTime = "10-11-2012, 11:19 AM";
var format = "MM-dd-yyyy, hh:mm tt";
DateTime dateTime;
var ok = DateTime.TryParseExact(rawDateTime, format, new CultureInfo("en-US"),
    DateTimeStyles.None, out dateTime);
if (ok)
{   // following prints correctly
    Console.WriteLine(dateTime);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM