Ris*_*ste 3 c# string culture datetime
我有来自WebService的以下字符串"1.4.2013. 0:00:00".我希望从中获得DateTime对象string.到目前为止我尝试了什么:
string d = "1.4.2013. 00:00:00";
DateTime parsed = DateTime.ParseExact(d, "d",CultureInfo.CreateSpecificCulture("hr-HR"));
DateTime parsed = DateTime.ParseExact(d, "d",new CultureInfo("hr-HR"));
DateTime parsed = DateTime.ParseExact(d, "d", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
它告诉我
string不被识别为有效的dateTime字符串.
我想在没有字符串解析的情况下解决这个问题,例如:在年后删除点.
的"d"标准格式说明使用ShortDatePattern提供的文化.由于您使用DateTime.ParseExact,格式和字符串应完全匹配.
但hr-HR文化的ShortDatePattern模式是d.M.yyyy.,这显然与你的字符串不匹配.它与InvariantCulture两者都不匹配.
但是,这种格式是hr-HR文化的标准日期和时间格式,所以你可以DateTime.Parse直接使用;
string d = "1.4.2013. 00:00:00";
DateTime parsed = DateTime.Parse(d, CultureInfo.GetCultureInfo("hr-HR"));
// 01/04/2013 00:00:00
Run Code Online (Sandbox Code Playgroud)
您的字符串匹配文化的"G"标准格式说明符,hr-HR它基于组合ShortDatePattern和LongTimePattern属性d.M.yyyy. H:mm:ss.