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

本文关键字:日期 时间 转换 var 何使用 | 更新日期: 2023-09-27 18:05:36

我想把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);

但是它显示

字符串未被识别为有效的日期时间。

我想把2014-06-03 10:07:31 AM改成03_06_2014_10_07_31

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

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

From DateTime.ParseExact method

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

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

请使用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();

这里a 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