月份的英文缩写(使用 C# 解析月份简写的时间日期格式)
来源:静雅生活网 作者:汐音发布时间:2022-08-27 08:32阅读次
导读:在 C# 中有一个强大的 DateTime 类型可以用来将字符串转换为时间日期:var dt = DateTime.Parse("2022年3月8日"); 部分海外站点,
在 C# 中有一个强大的 DateTime 类型可以用来将字符串转换为时间日期:
var dt = DateTime.Parse("2022年3月8日");
部分海外站点,如英国或美国会输出包含缩写月份的时间日期字符串:
8 Sept. 2021
如果尝试对其进行转换,则会报错:
var dt = DateTime.Parse("8 Sept. 2021");
The string ‘8 Sept. 2021’ was not recognized as a valid DateTime. There is an unknown word starting at index ‘2’.
报错信息
根据百度知道的信息:
September的缩写用Sept.或Sep.均可。September是特殊的,只有它一个是前4个字母,其它都是3个字母。
来自:百度知道
如果将 Sept. 更换为 Sep. ,则转换可以正常进行。这说明 .NET 类库仅支持了 Sep. 但并未支持 Sept. 。要解决该问题,只需将缩写还原即可:
public static DateTime ToDateTime(string str){ /* * * 除九月的英文缩写是前四个字母Sept,其他的都是英文全称的前三位,如十一月缩写为 Nov . 十二月为 Dec. * 一月:January 。英文缩写:Jan. * 二月:February。英文缩写:Feb. * 三月 :March 。英文缩写:Mar. * 四月:April。英文缩写:Apr. * 五月:May。英文缩写:May. * 六月:June。英文缩写:Jun. * 七月:July。英文缩写:Jul. * 八月:August。英文缩写:Aug. * 九月:September。英文缩写:Sept. * 十月:October。英文缩写:Oct. */ var fmt = str .Replace(" Jan. ", " January ") .Replace(" Feb. ", " February ") .Replace(" Mar. ", " March ") .Replace(" Apr. ", " April ") .Replace(" May. ", " May ") .Replace(" Jun. ", " June ") .Replace(" Jul. ", " July ") .Replace(" Aug. ", " August ") .Replace(" Sep. ", " September ") .Replace(" Sept. ", " September ") .Replace(" Oct. ", " October ") .Replace(" Nov. ", " November ") .Replace(" Dec. ", " December ") .Trim(); return DateTime.Parse(fmt);}
版权声明:本文部分来自互联网,由小编精心所写,本文地址:http://www.zhubian88.cn/shcs/48449.html,如需转载,请注明出处!