日期转换(用DateTime的ParseExact方法解析特殊的日期时间)(转)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期转换(用DateTime的ParseExact方法解析特殊的日期时间)(转)相关的知识,希望对你有一定的参考价值。

今天遇到一个特别的需求,需要从下面的字符串中转换成一个DateTime对象:

  [07-13 15:50:42]

主要问题是这个时间不是标准的时间,而是自定义的格式,即开头是月-日,然后是时间。

使用最常用的DateTime.Parse(string dateTimeStr)无法转换,问题就在于这个自定义格式上。

 

搜索了之后,我找到了下面的方法:

public static DateTime ParseExact(
	string s,
	string format,
	IFormatProvider provider
)

使用例子如下:

var dateTimeStr = "07-13 15:50:42";
var dateTime = DateTime.ParseExact(dateTimeStr, "MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

使用效果如下:

技术分享

 

例子2:

MessageBox.Show(DateTime.ParseExact("07131550", "MMddHHmm", System.Globalization.CultureInfo.CurrentCulture).ToString());

结果:2014/7/13 15:50:00

 

如果你使用的其它特殊语言,比如美国或者日文啥的,最后的参数你可能需要获取下对应的Culture。

注意:

 

参考资料

DateTime.ParseExact Method (String, String, IFormatProvider)

http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx

以上是关于日期转换(用DateTime的ParseExact方法解析特殊的日期时间)(转)的主要内容,如果未能解决你的问题,请参考以下文章

泰国/佛教时代时间的 DateTime.ParseExact 问题

DateTime.ParseExact,忽略时区

DateTime.ParseExact 返回错误值

日期时间转换 c#

在Powershell中如何将日期'2017年6月6日,08:09:05.000'转换为[DateTime]?

日期格式转换方法整理