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

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

2014-07-31 十有三 0 浏览:1万+ .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 MVC AJAX.BeginForm异步提交和刷新无效
  • IIS8通过ARR和URL重写模块实现不同站点之间的POST请求重写
  • ASP.NET MVC移除URL后面自动加上的AspxAutoDetectCookieSupport=1
  • asp.net动态添加meta标签
  • C#中特殊字符存入MySql报错“ERROR 1366: Incorrect string value“
  • 解决IIS ASP.NET 网站发布后出现错误 Unable to connect to any of the specified MySQL hosts

文章分类

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

文章标签

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

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • VS重构重命名的快捷键
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件

推荐文章

  • Visual Studio 2017 如何打开Model Browser(实体数据模型浏览器)
  • 解决VS2013编码遇到无法嵌入互操作类型“ChinaPay_NET.NetPayClientClass”请改用适用的接口的问题
  • 解决asp.net中 jquery ajax调用一般处理程序ashx出现"正在中止线程"异常
  • ASP.NET MVC 表单提交数组和泛型集合的方法
  • 在windows server 2012中实现SQL SERVER EXPRESS自动备份数据库

友情链接

  • Passingwind的博客
  • 码友网

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