Csharp/C#教程:C# – 如何validation日期时间(制作“20120713”或“120713”至“13.07.2012”)分享


C# – 如何validation日期时间(制作“20120713”或“120713”至“13.07.2012”)

我正在尝试将日期时间从EDI-Order(“20120713”/ YYYYMMDD或“120713”/ YYMMDD或甚至其他日期没有点,所以只是数字)解析为有价值的日期,如C#中的“DD.MM.YYY”。

我不知道有多少不同的日期格式在不同的EDI订单中,所以我正在寻找一个可以应用于所有这些的解决方案。

谢谢大家。

您应该对使用ParseExact这个重载感兴趣,您可以将多种格式作为数组传递,并且它将尝试基于它们对其进行解析。(如果您可以控制格式并打算使用一个格式,这将是很好的)

 DateTime start = DateTime.ParseExact("20120713", new[] { "yyyyMMdd", "yyMMdd" }, CultureInfo.InvariantCulture, DateTimeStyles.None); DateTime end = DateTime.ParseExact("120713", new[] { "yyyyMMdd", "yyMMdd" }, CultureInfo.InvariantCulture, DateTimeStyles.None); 

对于你的输出你可以做start.ToString("dd.MM.yyyy")

这适用于多种格式

上述就是C#学习教程:C# – 如何validation日期时间(制作“20120713”或“120713”至“13.07.2012”)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 DateTime Result = new DateTime(); string[] dateFormats = new string[]{ "YYYYMMDD", "YYMMDD", /*other formats you might need*/ }; if (dateFormats.Any(format => DateTime.TryParseExact("yourDate", format, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out Result))) { /* Result contains the parsed DateTime and you can use it*/ } else { /* DateTime couldn't be parsed for any format you specified */ } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1030756.html

(0)
上一篇 2022年1月13日
下一篇 2022年1月13日

精彩推荐