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


当前回答

指定格式化的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);

其他回答

在花了很多时间在谷歌搜索后,我发现下面的解决方案,当我在本地给出日期时间时,没有例外,而从其他服务器,有错误.........日期格式不正确。在c#中保存/搜索文本框日期时间之前,只需检查外部服务器文化是否与数据库服务器文化相同。Ex都应该是“en-US”或必须都是“en-GB”asp下面的快照。

即使使用不同的日期格式,如(dd/mm/yyyy)或(yyyy/mm/dd),它也会准确地保存或搜索。

实际上,您已经自己编写了格式。

你的日期。ToString(“yyyyMMddHHmmss”)

MM =两位数月 Mm =两位数的分钟 HH =两位数小时,24小时钟 Hh =两位数小时,12小时钟

其他一切都应该不言自明。

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

这没什么大不了的。你可以这样简单地写

WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");

这里我用了$,这是字符串插值。

使用c# 6.0

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