网站首页 > 基础教程 正文
在 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);
}
- 上一篇: ILSpy借助reflexil修改C# DLL
- 下一篇: C#移除字符串中的不可见Unicode字符
猜你喜欢
- 2024-12-02 C++中的struct完全可以被class替代,为什么不删去它呢?
- 2024-12-02 C#笔记~泛型
- 2024-12-02 C# 中 IsNullOrEmpty 和 IsNullOrWhiteSpace 你用对了吗?
- 2024-12-02 C#面试宝典 2022年 60个常见的C#面试问题和答案
- 2024-12-02 C#学习随笔—操作BIN文件(读,写,替代)
- 2024-12-02 C# 入门深度学习:万字长文讲解微积分和梯度下降
- 2024-12-02 344.C# 中的正则表达式:字符匹配、字面字符、特殊字符和转义序列
- 2024-12-02 C#通过二进制读写实现文件的伪加密
- 2024-12-02 C#移除字符串中的不可见Unicode字符
- 2024-12-02 ILSpy借助reflexil修改C# DLL
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)