将"M/d/yyyy h:mm:ss tt"转换为"YYYY-MM-DDThh:mm:ss.SSSZ"

YuD*_*oid 5 c# string datetime

正如标题所示,我想要做的是转换我的日期字符串,例如

  • "6/6/2014 12:24:30 PM" (M/d/yyyy h:mm:ss tt) 格式

  • "YYYY-MM-DDThh:mm:ss.SSSZ" 格式.

我正在尝试以下方式.它没有给我任何例外,但我得到的价值如下:

  • "YYYY-06-DDT12:24:30.SSSZ"

我怎样才能完全实现这一目标?

string LastSyncDateTime = "6/6/2014 12:24:30 PM";
DateTime dt = DateTime.ParseExact(LastSyncDateTime, "M/d/yyyy h:mm:ss tt",CultureInfo.InvariantCulture);
string result = dt.ToString("YYYY-MM-DDThh:mm:ss.SSSZ");
Run Code Online (Sandbox Code Playgroud)

Sai*_*ala 4

数据时间格式 由于其内部设置,无法识别某些系统中的不区分大小写的字符。请参考下面的代码,效果很好

string result = dt.ToString("yyyy-MM-ddThh:mm:ss.SSSZ");
Run Code Online (Sandbox Code Playgroud)

上面的代码将结果为2014-06-06T12:24:30.SSSZ

编辑 :

下面的代码片段也会给你毫秒

dt.ToString("yyyy-MM-ddThh:mm:ss.fffZ");
Run Code Online (Sandbox Code Playgroud)

  • 你应该 fff 毫秒而不是 SSS (2认同)