Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C“日期时间到”;YYYYMMDDHHMMSS“;格式_C#_Datetime - Fatal编程技术网

C# C“日期时间到”;YYYYMMDDHHMMSS“;格式

C# C“日期时间到”;YYYYMMDDHHMMSS“;格式,c#,datetime,C#,Datetime,我想将C#DateTime转换为“YYYYMMDDHHMMSS”格式。但是我没有找到一个内置的方法来获取这种格式?有什么意见吗?您实际上已经自己编写了格式 yourdate.ToString(“yyyyMMddHHmmss”) MM=两位数月份 mm=两位数分钟 HH=两位数小时,24小时时钟 hh=两位数小时,12小时时钟 其他一切都应该是不言自明的。您只需在月(MM)和分钟(MM)之间小心: (还要注意,HH是24小时制,而HH是12小时制,通常与t或tt一起表示am/pm指示器。) 如

我想将C#DateTime转换为“YYYYMMDDHHMMSS”格式。但是我没有找到一个内置的方法来获取这种格式?有什么意见吗?

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

yourdate.ToString(“yyyyMMddHHmmss”)

  • MM=两位数月份
  • mm=两位数分钟
  • HH=两位数小时,24小时时钟
  • hh=两位数小时,12小时时钟

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

您只需在月(MM)和分钟(MM)之间小心:

(还要注意,HH是24小时制,而HH是12小时制,通常与t或tt一起表示am/pm指示器。)

如果要作为复合格式字符串的一部分执行此操作,请使用:

string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);
有关更多信息,请参阅


如果您只想将其显示为字符串,可以使用自定义格式字符串:

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

如果您不想使用24小时制,请将“hh”替换为“hh”。

我很惊讶没有人能链接到这一点。
string date = DateTime.Now.ToString("dd-MMM-yy");  //05-Aug-13
可以使用以下指南创建任何格式:

对于您的特定示例(如其他人所示),请使用

my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);
其中my_格式可以是y、M、H、M、s、f、f等任意字符串组合! 查看链接。

查看链接

// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format("{0:y yy yyy yyyy}",      dt);  // "8 08 008 2008"   year
String.Format("{0:M MM MMM MMMM}",      dt);  // "3 03 Mar March"  month
String.Format("{0:d dd ddd dddd}",      dt);  // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}",          dt);  // "4 04 16 16"      hour 12/24
String.Format("{0:m mm}",               dt);  // "5 05"            minute
String.Format("{0:s ss}",               dt);  // "7 07"            second
String.Format("{0:f ff fff ffff}",      dt);  // "1 12 123 1230"   sec.fraction
String.Format("{0:F FF FFF FFFF}",      dt);  // "1 12 123 123"    without zeroes
String.Format("{0:t tt}",               dt);  // "P PM"            A.M. or P.M.
String.Format("{0:z zz zzz}",           dt);  // "-6 -06 -06:00"   time zone

// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}",           dt);  // "3/9/2008"
String.Format("{0:MM/dd/yyyy}",         dt);  // "03/09/2008"

// day/month names
String.Format("{0:ddd, MMM d, yyyy}",   dt);  // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt);  // "Sunday, March 9, 2008"

// two/four digit year
String.Format("{0:MM/dd/yy}",           dt);  // "03/09/08"
String.Format("{0:MM/dd/yyyy}",         dt);  // "03/09/2008"
标准日期时间格式

String.Format("{0:t}", dt);  // "4:05 PM"                           ShortTime
String.Format("{0:d}", dt);  // "3/9/2008"                          ShortDate
String.Format("{0:T}", dt);  // "4:05:07 PM"                        LongTime
String.Format("{0:D}", dt);  // "Sunday, March 09, 2008"            LongDate
String.Format("{0:f}", dt);  // "Sunday, March 09, 2008 4:05 PM"    LongDate+ShortTime
String.Format("{0:F}", dt);  // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
String.Format("{0:g}", dt);  // "3/9/2008 4:05 PM"                  ShortDate+ShortTime
String.Format("{0:G}", dt);  // "3/9/2008 4:05:07 PM"               ShortDate+LongTime
String.Format("{0:m}", dt);  // "March 09"                          MonthDay
String.Format("{0:y}", dt);  // "March, 2008"                       YearMonth
String.Format("{0:r}", dt);  // "Sun, 09 Mar 2008 16:05:07 GMT"     RFC1123
String.Format("{0:s}", dt);  // "2008-03-09T16:05:07"               SortableDateTime
String.Format("{0:u}", dt);  // "2008-03-09 16:05:07Z"              UniversalSortableDateTime

/*
Specifier   DateTimeFormatInfo property     Pattern value (for en-US culture)
    t           ShortTimePattern                    h:mm tt
    d           ShortDatePattern                    M/d/yyyy
    T           LongTimePattern                     h:mm:ss tt
    D           LongDatePattern                     dddd, MMMM dd, yyyy
    f           (combination of D and t)            dddd, MMMM dd, yyyy h:mm tt
    F           FullDateTimePattern                 dddd, MMMM dd, yyyy h:mm:ss tt
    g           (combination of d and t)            M/d/yyyy h:mm tt
    G           (combination of d and T)            M/d/yyyy h:mm:ss tt
    m, M        MonthDayPattern                     MMMM dd
    y, Y        YearMonthPattern                    MMMM, yyyy
    r, R        RFC1123Pattern                      ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
    s           SortableDateTi­mePattern             yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
    u           UniversalSorta­bleDateTimePat­tern    yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
                                                    (*) = culture independent   
*/
更新 使用c#6字符串插值格式

// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

$"{dt:y yy yyy yyyy}";  // "8 08 008 2008"   year
$"{dt:M MM MMM MMMM}";  // "3 03 Mar March"  month
$"{dt:d dd ddd dddd}";  // "9 09 Sun Sunday" day
$"{dt:h hh H HH}";      // "4 04 16 16"      hour 12/24
$"{dt:m mm}";           // "5 05"            minute
$"{dt:s ss}";           // "7 07"            second
$"{dt:f ff fff ffff}";  // "1 12 123 1230"   sec.fraction
$"{dt:F FF FFF FFFF}";  // "1 12 123 123"    without zeroes
$"{dt:t tt}";           // "P PM"            A.M. or P.M.
$"{dt:z zz zzz}";       // "-6 -06 -06:00"   time zone

// month/day numbers without/with leading zeroes
$"{dt:M/d/yyyy}";    // "3/9/2008"
$"{dt:MM/dd/yyyy}";  // "03/09/2008"

// day/month names
$"{dt:ddd, MMM d, yyyy}";    // "Sun, Mar 9, 2008"
$"{dt:dddd, MMMM d, yyyy}";  // "Sunday, March 9, 2008"

// two/four digit year
$"{dt:MM/dd/yy}";    // "03/09/08"
$"{dt:MM/dd/yyyy}";  // "03/09/2008"

如果使用ReSharper,请获取有关“:”的帮助(参见图)


这是一种简单的方法,完全控制“从类型”和“到类型”,只需记住此代码即可用于将来的铸件

DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
使用C#6.0


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


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

.Net标准2
中,您可以设置
日期时间的格式,如下所示:

DateTime dt = DateTime.Now;
CultureInfo iv = CultureInfo.InvariantCulture;

// Default formats
// D - long date           Tuesday, 24 April 2018
// d - short date          04/24/2018
// F - full date long      Tuesday, 24 April 2018 06:30:00
// f - full date short     Tuesday, 24 April 2018 06:30
// G - general long        04/24/2018 06:30:00
// g - general short       04/24/2018 06:30
// U - universal full      Tuesday, 24 April 2018 06:30:00
// u - universal sortable  2018-04-24 06:30:00
// s - sortable            2018-04-24T06:30:00
// T - long time           06:30:00
// t - short time          06:30
// O - ISO 8601            2018-04-24T06:30:00.0000000
// R - RFC 1123            Tue, 24 Apr 2018 06:30:00 GMT           
// M - month               April 24
// Y - year month          2018 April
Console.WriteLine(dt.ToString("D", iv));

// Custom formats
// M/d/yy                  4/8/18
// MM/dd/yyyy              04/08/2018
// yy-MM-dd                08-04-18
// yy-MMM-dd ddd           08-Apr-18 Sun
// yyyy-M-d dddd           2018-4-8 Sunday
// yyyy MMMM dd            2018 April 08      
// h:mm:ss tt zzz          4:03:05 PM -03
// HH:m:s tt zzz           16:03:05 -03:00
// hh:mm:ss t z            04:03:05 P -03
// HH:mm:ss tt zz          16:03:05 PM -03      
Console.WriteLine(dt.ToString("M/d/yy", iv));

将日期作为
DateTime
对象而不是字符串获取。然后您可以根据需要格式化它

  • MM/dd/yyyy 08/22/2006
  • 2006年8月22日星期二
  • 2006年8月22日星期二06:30
  • 2006年8月22日星期二上午6:30
  • 2006年8月22日星期二6:30
  • 2006年8月22日星期二上午6:30
  • dddd,dd MMMM yyyy HH:mm:ss 2006年8月22日星期二06:30:07
  • 年月日HH:MM 08/22/2006 06:30
  • 年月日hh:MM tt 08/22/2006 06:30上午
  • 年月日H:MM 08/22/2006 6:30
  • 年/月/日h:MM tt 08/22/2006上午6:30
  • 年月日HH:MM:ss 08/22/2006 06:30:07

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

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

请原谅我在这里使用了$,它用于字符串插值。

上述任何答案都不可能解决您的问题。尽管如此,我还是分享了我的方法,它总是适用于不同格式的日期时间

//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);

将格式化日期时间指定为Utc:

步骤1-初始日期

var initialDtm = DateTime.Now;
第2步-将日期格式化为“yyyyMMddHHmmss”

步骤3-指定日期类型(Utc)


“fff”将给出毫秒数,因此您可以使用“yyyymmddhhmmssff”给出毫秒数的字符串。这是时区的一部分(从GMT日期添加或减去的小时数)?Jon Skeet在他的答案()中包含了该链接。是否可以:
现在。ToString(“yyymmdd_HHmmss”)
?我的意思是可以与其他字符连接,对吗?@DanielV:是的,但我会引用文字字符(带撇号)。2013年(可能之前)与ReSharper的情况一样。是不是只有我认为几个月都有大M,然后几个小时都有大H是疯狂的?M=分钟/M=月,H=12小时,H=24小时。我怀疑有人从时间开始说hms=hours mins seconds,然后H变成了24小时,然后他们开始约会,没有了唯一的字母,所以case也这样说。就是其中之一。您将如何使用
DateTime.parse()
?@BigMoney使用DateTime.ParseExact:var now=DateTime.ParseExact(stringVersion,“YYYYMMDDHHMMSS”,CultureInfo.InvariantCulture)@BigMoney解析时,
格式也区分大小写,即
DateTime.ParseExact(stringValue,“yyyyMMddHHmmss”,CultureInfo.InvariantCulture)必须将这些m大写-m是月,m是分钟。例如2017/51/10,其仅显示日期格式可能为日/月/年或年/月/日。。。。。。。。。。它将在不同文化背景下进行搜索。。。不要与时间混淆。。。。。。。。。。。。。。。。此格式可以在dateTimePicker日历上设置……。我希望此格式:
yyyyMMddHHmm[+-]ZZzz
其中[+-]ZZzz部分是时区(从GMT日期添加或减去的小时数)
zzz
是-06:00,我希望
-0600
@Kiquenet您是否尝试过
。替换(“:”,“)
$”{dt:yyyyMMddHHmmzzz}.Replace(“:”,”)
作为一种变通方法,另一种方法是
dt.ToString(“…”;
,其中用上述格式替换
“…”
,例如
“yyyy-MM-dd”
WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");
//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);
DateTime.Now.ToString("MM/dd/yyyy") 05/29/2015
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss")    Friday, 29 May 2015 05:50:06
DateTime.Now.ToString("MM/dd/yyyy HH:mm")   05/29/2015 05:50
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt")    05/29/2015 05:50 AM
DateTime.Now.ToString("MM/dd/yyyy H:mm")    05/29/2015 5:50
DateTime.Now.ToString("MM/dd/yyyy h:mm tt") 05/29/2015 5:50 AM
DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")    05/29/2015 05:50:06
DateTime.Now.ToString("MMMM dd")    May 29
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK") 2015-05-16T05:50:06.7199222-04:00
DateTime.Now.ToString("ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’") Fri, 16 May 2015 05:50:06 GMT
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss")  2015-05-16T05:50:06
DateTime.Now.ToString("HH:mm")  05:50
DateTime.Now.ToString("hh:mm tt")   05:50 AM
DateTime.Now.ToString("H:mm")   5:50
DateTime.Now.ToString("h:mm tt")    5:50 AM
DateTime.Now.ToString("HH:mm:ss")   05:50:06
DateTime.Now.ToString("yyyy MMMM")  2015 May
var initialDtm = DateTime.Now;
var formattedDtm = DateTime.ParseExact(initialDtm.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);    
var specifiedDtm = DateTime.SpecifyKind( formattedDtm, DateTimeKind.Utc);