我得到约会&从文本文件到我的C#程序中的字符串var的时间。
我需要将此字符串var转换为datetime var。
怎么做,如果我得到意想不到的日期类型&时间?
如果我不知道主机上的区域类型(当我传播我的程序时)?
提前谢谢
答案 0 :(得分:2)
使用TryParse,如果日期有效,将返回布尔值。
string dateString = "03/01/2009 10:00 AM";
CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");
DateTimeStyles styles DateTimeStyles.None;
DateTime dateResult;
if(DateTime.TryParse(dateString, culture, styles, out dateResult))
{
do something with dateResult
}
答案 1 :(得分:1)
小心,2/3/2010不明确它可能是mm / dd / yyyy或dd / mm / yyyy。如果你使用skyfoot的例子,你可能得到一个有效的日期,但不是正确的日期!
答案 2 :(得分:0)
TryParse 就是你想要的。
DateTime result;
if(!DateTime.TryParse(unpredictableDate, out result))
{
throw new ArgumentException("Argument '" + unpredictableDate + "' was not a recognizable date format.");
}
答案 3 :(得分:0)
DateTime.Parse()
使用运行应用的PC中的文化设置。这意味着用户可以输入他的文化的日期格式。
如果您不想这样,请在解析时指定不变文化,然后始终使用英语文化设置。
答案 4 :(得分:0)
如果您要执行特定的日期/时间格式,请尝试使用DateTime.ParseExact
。