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

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

2014-07-31 十有三 0 浏览:2万+ .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 页面静态化操作的思路
  • .NET 解决XML反序列化出现 XML文档(0, 0)中有错误 缺少根元素。
  • ASP.NET MVC网站发布后出现“/”应用程序中的服务器错误。
  • C#将时间转化为ISO8601规范的UTC格式-百度原创星火计划published_time格式转换
  • 取消vs2013解决方案中单击打开项目文件的功能

文章分类

.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安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • C# string转换成DateTime?(字符串转换成可空日期类型)
  • 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
  • 在windows server 2012中实现SQL SERVER EXPRESS自动备份数据库
  • ChinaPay.dll 64位系统导致应用程序池崩溃,异常代码: 0xc0000005
  • Avira小红伞如何添加白名单?

友情链接

  • Passingwind的博客
  • 码友网

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