C# DateTime naar “YYYYMMDDHHMMSS” formaat

Ik wil een C# DateTime converteren naar de indeling “YYYYMMDDHHMMSS”. Maar ik vind geen ingebouwde methode om dit formaat te krijgen? Opmerkingen?


Antwoord 1, autoriteit 100%

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

Antwoord 2, autoriteit 54%

Deze site heeft geweldige voorbeeldenbekijk het eens

// 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"

Standaard datum/tijd-opmaak

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   
*/

Bijwerken
gebruik makend van c# 6 string interpolatie formaat

// 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"

Antwoord 3, autoriteit 22%

Je hebt het formaat praktisch zelf geschreven.

yourdate.ToString("yyyyMMddHHmmss")

  • MM = tweecijferige maand
  • mm = minuten van twee cijfers
  • HH = tweecijferige uur, 24-uurs klok
  • hh = tweecijferige uur, 12-uurs klok

Al het andere spreekt voor zich.


Antwoord 4, autoriteit 12%

Je moet voorzichtig zijn tussen maanden (MM) en minuten (mm):

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

(Houd er ook rekening mee dat HH een 24-uursklok is, terwijl hh een 12-uursklok is, meestal in combinatie met t of tt voor de am/pm-aanduiding.)

Als u dit wilt doen als onderdeel van een tekenreeks met samengestelde opmaak, gebruikt u:

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

Zie voor meer informatie de MSDN-pagina over aangepaste datum- en tijdnotaties.


Antwoord 5, autoriteit 2%

U kunt een aangepaste opmaaktekenreeks gebruiken:

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

Vervang “hh” voor “HH” als u geen 24-uurs kloktijd wilt.


Antwoord 6, autoriteit 2%

Als u ReSharper gebruikt, vraag dan hulp bij ‘:’ (zie afbeelding)


Antwoord 7, autoriteit 2%

DateTime.Now.ToString("yyyyMMddHHmmss");

als je het alleen als een string wilt weergeven


Antwoord 8

In .Net Standard 2kunt u DateTimeopmaken zoals hieronder:

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

Antwoord 9

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

Antwoord 10

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

Antwoord 11

Het verbaast me dat niemand hier een link voor heeft.
elk formaat kan worden gemaakt met behulp van de richtlijnen hier:

Aangepaste tekenreeksen voor datum- en tijdnotatie

Gebruik voor uw specifieke voorbeeld (zoals anderen hebben aangegeven) iets als

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

Waarbij my_format elke tekenreekscombinatie van y,M,H,m,s,f,F en meer kan zijn!
Bekijk de link.


Antwoord 12

Krijg de datum als een DateTimeobject in plaats van een tekenreeks. Dan kun je het formatteren zoals je wilt.

  • MM / DD / JJJJ 08/22/2006
  • DDDD, DD MMMM YJJYY DINSDAG, 22 AUGUSTUS 2006
  • DDDD, DD MMMM YYYY HH: MM DINSDAG, 22 AUGUSTUS 2006 06:30
  • DDDD, DD MMMM YYYY HH: MM TT Dinsdag 22 augustus 2006 06:30 AM
  • DDDD, DD MMMM JJJJ: MM DINSDAG, 22 AUGUSTUS 2006 6:30
  • DDDD, DD MMMM YYYY H: MM TT Dinsdag 22 augustus 2006 6:30 AM
  • DDDD, DD MMMM YYYY HH: MM: SS Dinsdag 22 augustus 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

Klik hier voor meer patronen


Antwoord 13

C # 6.0

gebruiken

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

Antwoord 14

Een eenvoudige methode, volledige controle over ‘van type’ en ‘naar type’, en hoeft deze code alleen te onthouden voor toekomstige gietstukken

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

Antwoord 15

Het is geen big deal. Je kunt eenvoudig zoals deze plaatsen

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

Procuus hier voor ik gebruikte $ die is voor stringinterpolatie.


Antwoord 16

De kans is klein dat een van de bovenstaande antwoorden uw probleem niet heeft opgelost. Desalniettemin deel ik mijn methode die altijd voor mij werkt voor verschillende formaten van datetimes.

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

Antwoord 17

Geef de opgemaakte DateTime op als Utc:

Stap 1 – Initiële datum

var initialDtm = DateTime.Now;

Stap 2 – Formatteer de datum naar wens (“jjjjMMddHHmmss”)

var formattedDtm = DateTime.ParseExact(initialDtm.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);    

Stap 3 – Specificeer het soort datum (Utc)

var specifiedDtm = DateTime.SpecifyKind( formattedDtm, DateTimeKind.Utc);

Antwoord 18

Nadat ik veel uren op Google-zoekopdracht heb besteed, vond ik de onderstaande oplossing als toen ik de datum van de datum, geen uitzondering op de andere server geef, er is fout opgetreden ……… Datum is niet goed Formaat .. Voordat u de datumtijd van tekstvak in C # bespaart, is het controleren van de buitenste serercultuur hetzelfde als database-servercultuur .. Ex beide moeten “EN-VS” zijn of beide “EN-GB” ASP hieronder moeten zijn schot.

Zelfs met verschillende datumaanduiding zoals (DD / MM / JJJJ) of (JJJJ / MM / DD), zal het nauwkeurig opslaan of doorzoeken.

Other episodes