wake-up-neo.com

Wie konvertiere ich DateTime in/von einem bestimmten String-Format (beide Möglichkeiten, zum Beispiel das Format "yyyyMMdd")

Ich habe ein Problem beim Konvertieren eines Datums im String-Format, aber ich kann es nicht mit dem "yyyyMMdd"-Format konvertieren.

Mein Code lautet:

string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString();
string[] tpocinfo = Regex.Split(tpoc,";");

for (int i = 0; i < tpocinfo.Length; i++)
{
    switch (i)
    {
        case 0:
        {
            string[] tpoc2 = Regex.Split(tpocinfo[0], ",");
            claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
            claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]);
            claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString();
        }
        break;
119
Ashutosh

wenn Sie ein Datum in einer Zeichenfolge mit dem Format "ddMMyyyy" haben und es in "yyyyMMdd" konvertieren möchten, können Sie Folgendes tun:

DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy", 
                                  CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");
209
Falle1234

Parsing DateTime:

Wenden Sie eine der folgenden Methoden an, um eine DateTime zu analysieren:

Alternativ können Sie try-parse pattern verwenden:

Weitere Informationen zu Benutzerdefinierte Datums- und Uhrzeitformat-Zeichenfolgen .

DateTime in einen String konvertieren:

Um eine DateTime als Zeichenfolge im Format "yyyyMMdd" zurückzugeben, können Sie die ToString - Methode verwenden.

  • Beispiel eines Codeausschnitts: string date = DateTime.ToString("yyyyMMdd");
  • Beachten Sie, dass Großbuchstaben M 's sich auf Monate und Kleinbuchstaben m' auf Minuten beziehen.

Dein Fall:

Vorausgesetzt, Sie möchten das Szenario nicht behandeln, wenn das Datum ein anderes Format hat oder das Datum fehlt, wäre es am besten, ParseExact zu verwenden:

string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse, 
                                          "yyyyMMdd",
                                          CultureInfo.InvariantCulture);
61

Sie können Ihre Zeichenfolge wie folgt in einen DateTime-Wert konvertieren:

DateTime date = DateTime.Parse(something);

Sie können einen DateTime-Wert wie folgt in eine formatierte Zeichenfolge konvertieren:

date.ToString("yyyyMMdd");
35
SLaks

Zeichenfolge bis Datumsformat JJJJ-MM-TT: Beispiel:

TxtCalStDate.Text = Convert.ToDateTime(objItem["StartDate"]).ToString("yyyy/MM/dd");   
11
NSiva

Wenn SieDATUMals Zeichenfolge mitUHRZEIThaben möchten. Wir können das so machen:

//Date and Time is taking as current system Date-Time    
DateTime.Now.ToString("yyyyMMdd-HHMMss");
10
Anish

Verwenden Sie DateTime.TryParseExact(), wenn Sie mit einem bestimmten Datumsformat abgleichen möchten 

   string format = "yyyyMMdd"; 
    DateTime dateTime;
    DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
                                             DateTimeStyles.None, out dateTime);
6
Mudassir Hasan

Sie könnten DateTime.TryParse() anstelle von DateTime.Parse() verwenden.
Mit TryParse() haben Sie einen Rückgabewert, wenn er erfolgreich war, und mit Parse() müssen Sie eine Ausnahme behandeln

5
peter

Es ist die einfache Möglichkeit, in ein Format zu konvertieren

 DateTime.Now.ToString("yyyyMMdd");
3
manoj kumar

nein, es ist ein String mit yyyy/mm/dd und ich brauche ihn im Format yyyyMMdd

Wenn Sie nur die Schrägstriche aus einer Zeichenfolge entfernen müssen, ersetzen Sie sie nicht einfach?

Beispiel:

myDateString = "2013/03/28";
myDateString = myDateString.Replace("/", "");

myDateString sollte jetzt "20130328" sein.

Weniger Overkill :)

3
SergioMSCosta

Einfach so machen.

string yourFormat = DateTime.Now.ToString("yyyyMMdd");

Viel Spaß beim Codieren :)

3

Anhand der Eigenschaftsnamen scheint es, als würden Sie versuchen, eine Zeichenfolge durch Zuweisung in ein Datum zu konvertieren:

claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();

Dies liegt wahrscheinlich an der aktuellen UI-Kultur und kann daher die Datumszeichenfolge bei der Zuweisung nicht richtig interpretieren.

2
Peter

Ab C # 6: 

var dateTimeUtcAsString = $"{DateTime.UtcNow:o}";

Das Ergebnis wird sein: "2019-01-15T11: 46: 33.2752667Z"

0
ben alfasi

Sie können diese Codes ausprobieren 

claimantAuxillaryRecord.TPOCDate2  = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd"); 

Oder 

claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd hh:mm:ss"); 
0
A. Zalonis

Ein einfacher Weg, auf den ich bei der Suche nach dieser Antwort gestoßen bin;

string date = DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.GetCultureInfo("en-US"));