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


当前回答

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

//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#中保存/搜索文本框日期时间之前,只需检查外部服务器文化是否与数据库服务器文化相同。Ex都应该是“en-US”或必须都是“en-GB”asp下面的快照。

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

获取日期为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

点击这里查看更多模式

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

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