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

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

2014-07-31 十有三 0 浏览:9213 .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如何实现带www域名重定向到不带www顶级域名
  • ASP.NET MVC UrlParameter.Optional字段用法和意思
  • 解决ASP.NET MVC异常:提供的防伪标记适用于用户“*”,但当前用户为“”
  • JSON劫持漏洞(详细讲解利用JSON从而进行数据劫持的漏洞攻防策略)
  • ASP.NET CheckBoxList控件动态修改ListItem选项的字体颜色和背景颜色
  • ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
发表评论
记住昵称

文章分类

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

文章标签

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

热门文章

  • 解决IE11安装升级失败和在安装前需要更新的问题
  • VS重构重命名的快捷键
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • Win10中如何设置Hyper-V的网络让虚拟机也能上外网

推荐文章

  • ChinaPay.dll 64位系统导致应用程序池崩溃,异常代码: 0xc0000005
  • (恶搞)程序搞笑:程序员和科比搞笑对话
  • 网站使用plesk面板,页面出现default parallesls plesk page的解决方法
  • 分享一个MIME Types大全网址
  • HTML小技巧:使用CSS3属性绘制圆形元素和图片

最新评论

  • 谢谢,用你的方法解决了
  • 能不能帮我一下QQ号是。2946145656
  • 非常感谢~帮大忙了
  • 我的版本没有这个选项,微软太霸道了
  • 我想请问一下,我用的也是iis跟url rewri

友情链接

  • Passingwind的博客
  • 坤哥网
  • 码友网
  • Wil的博客

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