解析自定义时间格式字符串

 

在程序应用中,我们经常碰到从别的地方获取的用字符串形式表示的时间,对于这种时间,通常需要将其转换为DateTime对象才能使用。

将字符串转换为对象,通常都是用Pharse方法,该方法广泛存在于.net Framework的各个类中。比如说对于字符串时间"2006-03-02 11:20:21",我们可以使用下列语句将其转换为相应日期对象。

DateTime dtime = DateTime.Parse("2006-03-02 11:20:21");

然而,我们程序中获取的字符串时间格式往往是自定义的。这些自定义区域性日期和时间字符串可能非常复杂,所以很难分析。Parse 方法尝试使用多种隐式分析模式来分析字符串,但都有可能失败。比如说上述时间如果为"20060302112021"的形式,DateTime.Parse()方法便无能为力了,这个时候我们便需要使用到另一个时间字符串解析函数----ParseExact 。对于上述时间字符串便可以用下面这条语句来实现对象解析。

DateTime dtime2 = DateTime.ParseExact("20060302112021", "yyyyMMddHHmmss", null);

关于ParseExact函数,msdn 的说明如下。

public static DateTime ParseExact (

    string s,

    string format,

    IFormatProvider provider

)

参数

s :        包含要转换的日期和时间的字符串。

format :    s 的预期格式。

provider :     用于提供有关 s 的区域性特定格式信息的IFormatProvider。

关于该函数更多信息,请参看msdn文档DateTime.ParseExact 方法

关于format参数的格式信息,可以参看msdn文档自定义 DateTime 格式字符串

 

 

原文地址:https://www.cnblogs.com/TianFang/p/485416.html