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


当前回答

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

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

其他回答

以上任何一个答案都不能解决你的问题的可能性很小。尽管如此,我还是分享了我的方法,它总是适用于不同格式的约会时间。

//Definition   
     public static DateTime ConvertPlainStringToDatetime(string Date, string inputFormat, string  outputFormat)
            {
                DateTime date;
                CultureInfo enUS = new CultureInfo("en-US");
                DateTime.TryParseExact(Date, inputFormat, enUS,
                                    DateTimeStyles.AdjustToUniversal, out date);

                string formatedDateTime = date.ToString(outputFormat);
                return Convert.ToDateTime(formatedDateTime);   
            }
//Calling

    string oFormat = "yyyy-MM-dd HH:mm:ss";
    DateTime requiredDT = ConvertPlainStringToDatetime("20190205","yyyyMMddHHmmss", oFormat  );
    DateTime requiredDT = ConvertPlainStringToDatetime("20190508-12:46:42","yyyyMMdd-HH:mm:ss", oFormat);

使用c# 6.0

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

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

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

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

你的日期。ToString(“yyyyMMddHHmmss”)

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

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

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

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

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

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

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