C # DateTime al formato “AAAAMMDDHHMMSS”

Quiero convertir un C # DateTime al formato “AAAAMMDDHHMMSS”. ¿Pero no encuentro un método integrado para obtener este formato? ¿Algún comentario?

DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive 

Este sitio tiene excelentes ejemplos compruébalo

 // 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" AM or PM 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" 

Formato de fecha y hora estándar

 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 SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*) u UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*) (*) = culture independent */ 

Actualización utilizando el formato de interpolación de cadena 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" AM or PM $"{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" 

Prácticamente has escrito el formato tú mismo.

yourdate.ToString("yyyyMMddHHmmss")

  • MM = mes de dos dígitos
  • mm = minutos de dos dígitos
  • HH = hora de dos dígitos, reloj de 24 horas
  • hh = hora de dos dígitos, reloj de 12 horas

Todo lo demás debería ser autoexplicativo.

Debe tener cuidado entre meses (MM) y minutos (mm):

 DateTime dt = DateTime.Now; // Or whatever string s = dt.ToString("yyyyMMddHHmmss"); 

(También tenga en cuenta que HH es un reloj de 24 horas, mientras que hh sería un reloj de 12 horas, generalmente junto con t o tt para el designador am / pm).

Si desea hacer esto como parte de una cadena de formato compuesto, usaría:

 string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt); 

Para obtener más información, consulte la página MSDN en formatos personalizados de fecha y hora .

Puede usar una cadena de formato personalizado:

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

Sustituya “hh” por “HH” si no desea la hora del reloj de 24 horas.

Si usa ReSharper, obtenga ayuda con ‘:’ (ver imagen)

Intellisense

 DateTime.Now.ToString("yyyyMMddHHmmss"); 

si solo quieres que se muestre como una cadena

 string date = DateTime.Now.ToString("dd-MMM-yy"); //05-Aug-13 

Me sorprende que nadie tenga un enlace para esto. cualquier formato se puede crear usando las pautas aquí:

Cadenas personalizadas de formato de fecha y hora

Para su ejemplo específico (Como otros han indicado) use algo como

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

¡Donde my_format puede ser cualquier combinación de cadenas de y, M, H, m, s, f, F y más! Mira el enlace.

En .Net Standard 2 puede formatear DateTime como se detalla a continuación:

 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-Md 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 tz 04:03:05 P -03 // HH:mm:ss tt zz 16:03:05 PM -03 Console.WriteLine(dt.ToString("M/d/yy", iv)); 

usando C # 6.0

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

Un método fácil, control total sobre ‘del tipo’ y ‘al tipo’, y solo es necesario recordar este código para futuros castings

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

Después de pasar muchas horas en la búsqueda de Google, encontré la siguiente solución como cuando localmente ofrezco la hora de la fecha, sin excepción, mientras que desde otro servidor, hubo un error ……… La fecha no está en el formato correcto. Antes de guardar / buscar la fecha de la fecha del cuadro de texto en C #, simplemente verificando la Cultura Serer externa es lo mismo que la cultura del servidor de la base de datos. Ex ambos deben ser “en-US” o deben ser ambos asp “en-GB” debajo de la instantánea.

enter image description here

Incluso con un formato de fecha diferente como (dd / mm / aaaa) o (aaaa / mm / dd), se guardará o buscará con precisión.