博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# DateTime的 ParseExact和 TryParseExact 使用说明
阅读量:5738 次
发布时间:2019-06-18

本文共 1863 字,大约阅读时间需要 6 分钟。

最近需要把“20121010”转换为“2012-10-10”格式,直接用Convert.ToDateTime("20121010"),系统报错“未被识别的DateTime类型”。

解决方法:

 

一、DateTime.ParseExact

 

string str = "20121010"

 IFormatProvider ifp = new CultureInfo("zh-CN"true); 
DateTime dt = DateTime.ParseExact(str, "yyyyMMdd", ifp); 
MessageBox.Show(dt.ToString("yyyy-MM-dd")); 

二、DateTime.TryParseExact

 

string str = "20121010";

 

DateTime dt; 

IFormatProvider ifp = new CultureInfo("zh-CN"true);

if (DateTime.TryParseExact(str, "yyyyMMdd", ifp, DateTimeStyles.None, out dt)) 

{

      MessageBox.Show(dt.ToString(("yyyy-MM-dd"));

}

 

在C#中如果将一个字符串类型的日期转换成日期类型很方便的

即使用Convert.ToDateTime("2015/01/01").ToString()或DateTime.TryParse 可完成转换,前提是字符串里的格式必须是系统可以识别的日期格式
如:
yyyy-MM-dd
yyyy/MM/dd
等等....
如果字符串中的格式是自定义的话(yyyyMMdd),那么系统的方法就无法直接完成转换(虽然字符串的内容是日期,如20111021)
还好C#提供了强大的可自定义格式转换功能,可以完成自定义需求,不废话直接上代码
/****************************************************************** * 创建人:HTL * 创建时间:2015-04-08 15:36:35 * 说明:C# 使用DateTime.TryParseExact将字符串的自定义日期格式转换成日期类型 * DEMO Url:http://ideone.com/I6MuaZ * Email:huangyuan413026@163.com *******************************************************************/using System;public class DateTime_TryParseExact_Demo{    public static void Main()    {        string str = DateTime.Now.ToString("yyyyMMdd");        string[] format = {"yyyyMMdd"};        DateTime date;        if (DateTime.TryParseExact(str,                                    format,                                    System.Globalization.CultureInfo.InvariantCulture,                                   System.Globalization.DateTimeStyles.None,                                    out date))        {             Console.WriteLine("Custom DateTime Type Convert success:"+date.ToString());        }        else             Console.WriteLine("Custom DateTime Type Convert error ");    }//end Main}//end

 

有图有真相:
 
参考:
 

转载于:https://www.cnblogs.com/itjeff/p/9018742.html

你可能感兴趣的文章
whereis、find、which、locate的区别
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>
POI getDataFormat() 格式对照
查看>>
Python 中的进程、线程、协程、同步、异步、回调
查看>>
好的产品原型具有哪些特点?
查看>>
实现java导出文件弹出下载框让用户选择路径
查看>>
刨根问底--技术--jsoup登陆网站
查看>>
OSChina 五一劳动节乱弹 ——女孩子晚上不要出门,发生了这样的事情
查看>>
Spring--通过注解来配置bean
查看>>
pandas 十分钟入门
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>
IK分词器安装
查看>>
查看Linux并发连接数
查看>>
你是谁不重要,关键是你跟谁!
查看>>
CSS中规则@media的用法
查看>>
pychecker:分析你的python代码
查看>>