美文网首页
Csharp Datetime Parse Exactly Sa

Csharp Datetime Parse Exactly Sa

作者: 大地缸 | 来源:发表于2021-03-12 06:03 被阅读0次

title: "Csharp Datetime Parse Exactly Sample Code"
date: 2021-02-26T20:43:14+08:00
draft: true
tags: ['csharp','datetime']
author: "dadigang"
author_cn: "大地缸"
personal: "http://www.real007.cn"


关于作者

http://www.real007.cn/about

最近需要把“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#提供了强大的可自定义格式转换功能,可以完成自定义需求,不废话直接上代码 在线Demo

image 复制代码
/******************************************************************
* 创建人: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

相关文章

网友评论

      本文标题:Csharp Datetime Parse Exactly Sa

      本文链接:https://www.haomeiwen.com/subject/grawfltx.html