我想将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
答案 0 :(得分:4)
DateTime
没有隐式格式,只是DateTime
值。您可以将其格式化为string
值。
将指定的日期和时间字符串表示形式转换为它 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();
这里有 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