基于DateTime.ParseExact方法的使用详解
时间:2021-11-15 11:33:39
参数说明
CultureInfo.CurrentCulture获取当前线程的区域信息中,包括DateTimeFormat 日期显示格式(日期分隔符)和 NumberFormat 货币。
试例:
1、时间中没有使用分割符的情况:
string temp = "18991230" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None);
2、时间中使用分割符的情况:
string temp = "1899-12-30" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy/MM/dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
都正确,原因:
CultureInfo.CurrentCulture获取当前线程的CultureInfo的DateTimeFormat属性作为IFormatProvider,然后在DateTimeParse.ParseByFormat方法中,遇到format参数的/字符时,会比较输入日期字符串的当前字符是否为当前DateTimeFormatInfo的DateSeperator,如果是,则返回true,即允许转换,如果不是则返回false。当前线程的区域信息中,日期分隔符即为-,因此,转换得以成功。
像有分割符的情况最好使用下面方式:
string temp = "1899-12-30" ;
DateTimeFormatInfo dtfi = new CultureInfo("zh-CN", false).DateTimeFormat;
DateTime dateTemp = DateTime.ParseExact(temp "yyyy-MM-dd", dtfi, DateTimeStyles.None) ; //使用当前分割符
标签:c#,DateTime.ParseExact方法
0
投稿
猜你喜欢
Java异常处理中的各种细节汇总
2023-09-26 02:50:17
简述Java中的四种引用类型
2023-11-29 00:46:56
Java使用Collections.sort()排序的方法
2022-09-11 18:47:55
android选择视频文件上传到后台服务器
2023-06-11 22:50:44
Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)
2023-09-02 12:48:19
Java使用Jdbc连接Oracle执行简单查询操作示例
2021-07-25 03:34:25
Android判断设备网络连接状态及判断连接方式的方法
2023-08-29 16:41:02
详解android 中animation-list 动画的应用
2022-09-13 18:28:31
不规范使用ThreadLocal导致bug分析解决
2023-11-24 20:03:59
Android 自定义imageview实现图片缩放实例详解
2023-03-08 10:56:08
Android仿支付宝支付从底部弹窗效果
2022-04-30 10:37:13
Java多线程下的单例模式参考
2023-11-09 00:40:15
C# 利用Selenium实现浏览器自动化操作的示例代码
2023-08-10 23:43:15
maven profile实现多环境配置的示例
2023-09-24 12:02:57
将Java的List结构通过GSON库转换为JSON的方法示例
2023-02-13 20:33:52
C#使用yield关键字构建迭代器详解
2023-02-09 12:48:49
详解SpringCloud的负载均衡
2022-03-14 03:42:28
C++ 归并排序(merge sort)案例详解
2022-03-23 00:00:00
C#延迟执行方法函数实例讲解
2022-06-17 19:23:50
Mybatis逆工程jar包的修改和打包
2023-06-03 09:28:14