/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

c# 字符串string类型转换成DateTime类型

2014-07-31 十有三 0 浏览:4715 .NET技术 C#

在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结。一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string value)方法进行转换。


首先介绍最常用的Convert.ToDateTime方法,然后在说明其他的方法。下面这段代码是最常见的转换代码:

    //将含有正确日期格式的string类型转换成DateTime类型
    string strDate = "2014-08-01";
    DateTime dt1 = Convert.ToDateTime(strDate);
    //将包含时分秒的string类型日期转换成DateTime类型
    string strDateTime = "2014-08-01 10:57:31";
    DateTime dt2 = Convert.ToDateTime(strDateTime);

C#的类型转换还是十分方便的,这里要注意的是,传入的string类型的日期格式必须要正确,否则会跳出异常错误信息:该字符串未被识别为有效的 DateTime。正确的日期格式为 yyyy-MM-dd HH:mm:ss (2014-08-01 11:25:20)或者 yyyy/MM/dd HH:mm:ss (2014-08-01 11:25:20),还有其他格式这里就不列举了,网上搜索下C#日期格式就有了,这里提供下微软的MSDN官方文档。

这里是转换方法的文档说明:

        //
        // 摘要: 
        //     将日期和时间的指定字符串表示形式转换为等效的日期和时间值。
        //
        // 参数: 
        //   value:
        //     日期和时间的字符串表示形式。
        //
        // 返回结果: 
        //     value 的值的日期和时间等效项,如果 value 为 null
        // ,则为 System.DateTime.MinValue 的日期和时间等效项。
        //
        // 异常: 
        //   System.FormatException:
        //     value 不是格式正确的日期和时间字符串。
        public static DateTime ToDateTime(string value);

这里在介绍下其他的转换方法,我们还可以使用DateTime.Parse,DateTime.TryParse,DateTime.ParseExact和DateTime.TryParseExact这四个方法进行转换。

    /*声明要转换的日期格式字符串*/
    string strDateTime = "2014-08-01 13:52:05";

    /*使用DateTime.Parse方法进行转换*/
    DateTime dt1 = DateTime.Parse(strDateTime);

    /*
     * 使用TryParse方法进行转换             
     * 如果日期格式不正确则返回空值
     * 转换后的值自动赋值给传入的out形参dt2中
     */
    DateTime dt2;
    DateTime.TryParse(strDateTime, out dt2);

    /*
     * 使用ParseExact方法进行转换
     * 这里需要带入要转换的日期格式参数
     * 这里的日期格式可以自定义,比如yyyyMMddHHmmss,就可以传入20140801135205进行转换
     * 第三个参数是区域性特定格式信息,这里使用当前系统默认区域(即中国)             
     */
    DateTime dt3=DateTime.ParseExact(strDateTime,"yyyy-MM-dd HH:mm:ss",System.Globalization.CultureInfo.CurrentCulture);

    /*
     * 使用TryParseExact方法进行转换
     * 基本用法和大致参数ParseExact方法一样
     * 只是传入返回值的DateTime类型的out形参,这里是dt4
     * 第四个参数为:格式设置选项,既DateTimeStyles枚举,设置NONE即可
     */
    DateTime dt4;
    DateTime.TryParseExact(strDateTime, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out dt4);

这里要注意的是,如果是用Parse方法也是需要注意传入正确的日期格式,否则会有错误异常。但是如果使用TryParse方法则不用担心,错误的格式只会返回null空的DateTime类型回来。ParseExact和TryParseExact则是根据你传入的日期格式进行转换,这里可转换任意的日期格式,具体转换其他格式的日期字符串的内容,可以看这篇文章:C#中将自定义日期和时间格式的字符串转换成日期DateTime类型


作者:十有三

出处:https://shiyousan.com/post/635424329249086464

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: MIME 类型大全(收集常用的MIME Type)
  • 下一篇: 解决Windows虚拟主机无法设置IIS配置但需要添加MIME类型的问题

相关文章
  • asp.net动态添加meta标签
  • 此请求的 URL 的长度超过配置的 maxUrlLength 值
  • .NET 使用HttpWebRequest 伪造Request.UrlReferrer
  • ASP.NET MVC移除URL后面自动加上的AspxAutoDetectCookieSupport=1
  • C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串
  • 只允许一个 <configSections> 元素。它必须是根 <configuration> 元素的第一个子元素- HTTP Error 500.19
发表评论
记住昵称

文章分类

.NET技术 122 数据库 24 Web前端 21 网站建设运维 33 操作系统与应用 67 程序猿日常 11 开发工具 11 其他随笔 12

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 道学 佛经 服务器 搞笑娱乐 好文分享 软件应用 生活知识 诗词 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • 解决IE11安装升级失败和在安装前需要更新的问题
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • jquery ajax error函数和及其参数详细说明
  • 骑马与砍杀 无限箭枝/作弊修改箭枝数量/调整各种箭枝数量的方法
  • 在唯一密钥属性“fileExtension”设置为“.”时,无法添加类型为“mimeMap”的重复集合项

推荐文章

  • IIS8无法将不带www的顶级域名301重定向到带www的域名中
  • .NET 解决XML反序列化出现 XML文档(0, 0)中有错误 缺少根元素。
  • JSON劫持漏洞(详细讲解利用JSON从而进行数据劫持的漏洞攻防策略)
  • 解决Visual Studio出现"调试器无法继续运行该进程。无法启动调试 "错误
  • 解决服务器80端口监听异常导致无法打开和访问网站的问题

最新评论

  • 感谢脖主分享
  • 在“为click once清单签名”的右侧,可以创
  • 用的帝国cms,修改后无效啊。 缓存清理了,浏览
  • 我的需求是:分享出去是同一个网站,但是微信分享需要
  • 试了 的确 有效,只能用english的语言进行安

友情链接

  • Wil的博客
  • Passingwind的博客
  • 坤哥网
  • .NET开发者社区

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号