如何使用c#将var转换为日期时间?

我想将var转换成数据和时间如何做到这一点

var t = (from li in list2 select li).Max(); 

上面的代码给我一个输出2014-06-03 10:07:31 AM现在我想将其转换为’03_06_2014_10_07_31′

所以首先我尝试使用下面的格式将格式更改为'MM/dd/yyyy HH:mm:ss' ,以便我可以使用一些拆分等等,并将其'03_06_2014_10_07_31'

 DateTime dfg = DateTime.ParseExact(t, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture); 

但它表明

字符串未被识别为有效的DateTime。

我想将2014-06-03 10:07:31 AM更改为03_06_2014_10_07_31

DateTime没有隐式格式,它只是一个DateTime值。 您可以将其格式化为string值。

来自DateTime.ParseExact方法

使用指定的格式和特定​​于区域性的格式信息将指定的日期和时间字符串表示forms转换为其DateTime等效forms。 字符串表示的格式必须与指定的格式完全匹配。

在你的情况下,他们不是。

使用yyyy-dd-MM HH:mm:ss tt格式。

这是LINQPad中的一个例子;

 string s = "2014-06-03 10:07:31 AM"; DateTime dfg = DateTime.ParseExact(s, "yyyy-dd-MM HH:mm:ss tt", CultureInfo.InvariantCulture); dfg.Dump(); 

这是一个demonstration

之后,您可以使用.ToString()方法格式化DateTime ;

 dfg.ToString("MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture); 

打印03/06/2014 10:07:31

要么

 dfg.ToString("MM_dd_yyyy_HH_mm_ss", CultureInfo.InvariantCulture); 

打印03_06_2014_10_07_31