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


当前回答

我很惊讶没人知道这是怎么回事。 任何格式都可以使用下面的指导原则创建:

自定义日期和时间格式字符串

对于你的具体例子(正如其他人所指出的那样),使用类似于

my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);

其中my_format可以是y,M,H, M, s,f, f和更多的字符串组合! 请查看链接。

其他回答

指定格式化的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.Now.ToString("yyyyMMddHHmmss");

如果你只是想把它显示为字符串

获取日期为DateTime对象,而不是字符串。然后你可以按照你想要的格式格式化它。

MM/dd/yyyy 08/22/2006 dddd, dd MMMM yyyy Tuesday, 22 August 2006 dddd, dd MMMM yyyy HH:mm Tuesday, 22 August 2006 06:30 dddd, dd MMMM yyyy hh:mm tt Tuesday, 22 August 2006 06:30 AM dddd, dd MMMM yyyy H:mm Tuesday, 22 August 2006 6:30 dddd, dd MMMM yyyy h:mm tt Tuesday, 22 August 2006 6:30 AM dddd, dd MMMM yyyy HH:mm:ss Tuesday, 22 August 2006 06:30:07 MM/dd/yyyy HH:mm 08/22/2006 06:30 MM/dd/yyyy hh:mm tt 08/22/2006 06:30 AM MM/dd/yyyy H:mm 08/22/2006 6:30 MM/dd/yyyy h:mm tt 08/22/2006 6:30 AM MM/dd/yyyy HH:mm:ss 08/22/2006 06:30:07

点击这里查看更多模式

使用c# 6.0

$"Date-{DateTime.Now:yyyyMMddHHmmss}"

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

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

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