Convert.ToDateTime(string)
默认使用CurrentCulture
。这里怎么样implemented;
public static DateTime ToDateTime(String value)
{
if (value == null)
return new DateTime(0);
return DateTime.Parse(value, CultureInfo.CurrentCulture);
}
也许,你CurrentCulture
没有MM/dd/yyyy
格式为非标准的日期和时间。这就是为什么你的Convert.ToDateTime
会失败。您可以使用GetAllDateTimePatterns
方法查看所有标准日期和时间模式。
这里的一个例子LINQPad;
CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns().Dump();
您可以使用DateTime.TryParseExact
或DateTime.ParseExact
方法解析您的自定义日期和时间字符串。
string s = "05/22/2014";
DateTime dt;
if(DateTime.TryParseExact(s, "MM/dd/yyyy", CultureInfo.CurrentCulture,
DateTimeStyles.None, out dt))
{
// parsing successful
}
else
{
// not successful
}
但rememer,/ Custom Format Specifier
在自定义日期和格式字符串特殊的意义。这意味着像取代我与当前的文化日期分隔符。这意味着即使您的字符串格式完全相同,如果您的DateSeparator
property不是/
,您的解析操作也会失败。
财产是 'EN-CA'
正如我所说的,你的文化没有一个非标准格式MM/dd/yyyy
。这里有您的en-ca
文化支持的标准格式的完整列表;
foreach(var format in CultureInfo.GetCultureInfo("en-ca").DateTimeFormat.GetAllDateTimePatterns())
{
Console.WriteLine(format);
}
输出将;
dd/MM/yyyy
dd/MM/yy
d/M/yy
yyyy-MM-dd
yy-MM-dd
M/dd/yy
dd-MMM-yy
dd-MMM-yyyy
MMMM-dd-yy
MMMM d, yyyy
d-MMM-yy
dddd, MMMM dd, yyyy
MMMM-dd-yy h:mm tt
MMMM-dd-yy hh:mm tt
MMMM-dd-yy HH:mm
MMMM-dd-yy H:mm
MMMM d, yyyy h:mm tt
MMMM d, yyyy hh:mm tt
MMMM d, yyyy HH:mm
MMMM d, yyyy H:mm
d-MMM-yy h:mm tt
d-MMM-yy hh:mm tt
d-MMM-yy HH:mm
d-MMM-yy H:mm
dddd, MMMM dd, yyyy h:mm tt
dddd, MMMM dd, yyyy hh:mm tt
dddd, MMMM dd, yyyy HH:mm
dddd, MMMM dd, yyyy H:mm
MMMM-dd-yy h:mm:ss tt
MMMM-dd-yy hh:mm:ss tt
MMMM-dd-yy HH:mm:ss
MMMM-dd-yy H:mm:ss
MMMM d, yyyy h:mm:ss tt
MMMM d, yyyy hh:mm:ss tt
MMMM d, yyyy HH:mm:ss
MMMM d, yyyy H:mm:ss
d-MMM-yy h:mm:ss tt
d-MMM-yy hh:mm:ss tt
d-MMM-yy HH:mm:ss
d-MMM-yy H:mm:ss
dddd, MMMM dd, yyyy h:mm:ss tt
dddd, MMMM dd, yyyy hh:mm:ss tt
dddd, MMMM dd, yyyy HH:mm:ss
dddd, MMMM dd, yyyy H:mm:ss
dd/MM/yyyy h:mm tt
dd/MM/yyyy hh:mm tt
dd/MM/yyyy HH:mm
dd/MM/yyyy H:mm
dd/MM/yy h:mm tt
dd/MM/yy hh:mm tt
dd/MM/yy HH:mm
dd/MM/yy H:mm
d/M/yy h:mm tt
d/M/yy hh:mm tt
d/M/yy HH:mm
d/M/yy H:mm
yyyy-MM-dd h:mm tt
yyyy-MM-dd hh:mm tt
yyyy-MM-dd HH:mm
yyyy-MM-dd H:mm
yy-MM-dd h:mm tt
yy-MM-dd hh:mm tt
yy-MM-dd HH:mm
yy-MM-dd H:mm
M/dd/yy h:mm tt
M/dd/yy hh:mm tt
M/dd/yy HH:mm
M/dd/yy H:mm
dd-MMM-yy h:mm tt
dd-MMM-yy hh:mm tt
dd-MMM-yy HH:mm
dd-MMM-yy H:mm
dd-MMM-yyyy h:mm tt
dd-MMM-yyyy hh:mm tt
dd-MMM-yyyy HH:mm
dd-MMM-yyyy H:mm
dd/MM/yyyy h:mm:ss tt
dd/MM/yyyy hh:mm:ss tt
dd/MM/yyyy HH:mm:ss
dd/MM/yyyy H:mm:ss
dd/MM/yy h:mm:ss tt
dd/MM/yy hh:mm:ss tt
dd/MM/yy HH:mm:ss
dd/MM/yy H:mm:ss
d/M/yy h:mm:ss tt
d/M/yy hh:mm:ss tt
d/M/yy HH:mm:ss
d/M/yy H:mm:ss
yyyy-MM-dd h:mm:ss tt
yyyy-MM-dd hh:mm:ss tt
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd H:mm:ss
yy-MM-dd h:mm:ss tt
yy-MM-dd hh:mm:ss tt
yy-MM-dd HH:mm:ss
yy-MM-dd H:mm:ss
M/dd/yy h:mm:ss tt
M/dd/yy hh:mm:ss tt
M/dd/yy HH:mm:ss
M/dd/yy H:mm:ss
dd-MMM-yy h:mm:ss tt
dd-MMM-yy hh:mm:ss tt
dd-MMM-yy HH:mm:ss
dd-MMM-yy H:mm:ss
dd-MMM-yyyy h:mm:ss tt
dd-MMM-yyyy hh:mm:ss tt
dd-MMM-yyyy HH:mm:ss
dd-MMM-yyyy H:mm:ss
MMMM dd
MMMM dd
yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
yyyy'-'MM'-'dd'T'HH':'mm':'ss
h:mm tt
hh:mm tt
HH:mm
H:mm
h:mm:ss tt
hh:mm:ss tt
HH:mm:ss
H:mm:ss
yyyy'-'MM'-'dd HH':'mm':'ss'Z'
MMMM-dd-yy h:mm:ss tt
MMMM-dd-yy hh:mm:ss tt
MMMM-dd-yy HH:mm:ss
MMMM-dd-yy H:mm:ss
MMMM d, yyyy h:mm:ss tt
MMMM d, yyyy hh:mm:ss tt
MMMM d, yyyy HH:mm:ss
MMMM d, yyyy H:mm:ss
d-MMM-yy h:mm:ss tt
d-MMM-yy hh:mm:ss tt
d-MMM-yy HH:mm:ss
d-MMM-yy H:mm:ss
dddd, MMMM dd, yyyy h:mm:ss tt
dddd, MMMM dd, yyyy hh:mm:ss tt
dddd, MMMM dd, yyyy HH:mm:ss
dddd, MMMM dd, yyyy H:mm:ss
MMMM, yyyy
MMMM, yyyy
什么是您的CurrentCulture? –
你希望用户使用什么格式?他们会一直使用相同的格式吗?你在强制执行吗? –
嗨,Soner,我不知道这个问题的答案,我怎么会发现这个问题呢? – Marcus72