c# – 字符串未被识别为有效的DateTime?
发布时间:2020-12-16 00:19:56 所属栏目:百科 来源:网络整理
导读:我尝试将字符串转换为日期时间,但每次我得到: String was not recognized as a valid DateTime. 代码是: string format = "dd/MM/yyyy";obj.TransDate = DateTime.ParseExact(lbl_TransDate.Text.Split('/')[0] + "/" + lbl_TransDate.Text.Split('/')[1]
我尝试将字符串转换为日期时间,但每次我得到:
代码是: string format = "dd/MM/yyyy"; obj.TransDate = DateTime.ParseExact(lbl_TransDate.Text.Split('/')[0] + "/" + lbl_TransDate.Text.Split('/')[1] + "/" + lbl_TransDate.Text.Split('/')[2],format,CultureInfo.InvariantCulture); 当我调试我尝试解析它的日期是:12/4/2012 解决方法
所需的格式是
string format = "dd/M/yyyy"; 我不明白一件事,为什么拆分连接字符串,因为你会得到同样的东西? 如果输入是12/4/2012,在用’/’拆分后,你将获得12,4,2012,然后将它们连接起来以获得“12/4/2012”.为什么这个? 此外,如果您确实需要拆分,则可以将其存储到数组中,这样您就不需要将其拆分3次: var splits = lbl_TransDate.Text.Split('/'); DateTime.ParseExact(splits[0] + "/" + splits[1] + "/" + splits[2],...); 如果你不信任输入,splits数组可能不是Length = 3,而且更多,你可以使用DateTime.TryParseExact 编辑您可以使用多种格式的重载 var formats = new[] {"dd/M/yyyy","dd/MM/yyyy"}; var date = DateTime.ParseExact("12/4/2012",formats,System.Globalization.CultureInfo.InvariantCulture,System.Globalization.DateTimeStyles.AssumeLocal); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |