我想转换一个c#日期时间到“YYYYMMDDHHMMSS”格式。但我没有找到一个内置的方法来获得这种格式?任何评论?


当前回答

你可以使用自定义格式字符串:

DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");

如果你不想要24小时的时间,就用“hh”代替“hh”。

其他回答

DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive

你只需要在月(MM)和分钟(MM)之间小心:

DateTime dt = DateTime.Now; // Or whatever
string s = dt.ToString("yyyyMMddHHmmss");

(还要注意,HH是24小时时钟,而HH是12小时时钟,通常与t或tt一起作为am/pm指示符。)

如果你想把它作为复合格式字符串的一部分,你可以使用:

string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);

有关详细信息,请参阅MSDN页面自定义日期和时间格式。

如果您使用ReSharper,请使用':'获得帮助(见图)

指定格式化的DateTime为Utc:

步骤1 -初始日期

var initialDtm = DateTime.Now;

步骤2 -格式日期为愿意("yyyyMMddHHmmss")

var formattedDtm = DateTime.ParseExact(initialDtm.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);    

步骤3 -指定日期类型(Utc)

var specifiedDtm = DateTime.SpecifyKind(formattedDtm, DateTimeKind.Utc);

你可以使用自定义格式字符串:

DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");

如果你不想要24小时的时间,就用“hh”代替“hh”。