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


当前回答

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

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

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

其他回答

DateTime.Now.ToString("yyyyMMddHHmmss");

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

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

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

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

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

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

一个简单的方法,完全控制'从类型'和'到类型',只需要记住这个代码为未来的类型转换

DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));

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

你只需要在月(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页面自定义日期和时间格式。