2016-05-22 63 views
0

So konvertieren Sie das 12-Stunden-Format in das 24-Stunden-Format im Format DateTime.Konvertieren des 12-Stunden-Formats in das 24-Stunden-Format in C#

Ich habe bereits versucht, die DateTime zu string (24-Stunden-Format) zu konvertieren und es wieder in Datetime Format konvertieren, aber es funktioniert nicht.

+3

.Net DateTime-Struktur speichert das Anzeigeformat nicht. Sie müssen 'ToString()' mit einem Format-Provider verwenden, um es in dem von Ihnen gewünschten Format anzuzeigen. –

+2

Würden Sie bitte Ihren Versuch senden? –

+2

Bitte senden Sie Ihren Versuch und auch Ihre erwartete Eingabe und Ausgabe –

Antwort

6
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); 

dt.ToString("dd/MM/yyyy hh:mm:ss tt"); //12 HOUR FORMAT 
dt.ToString("dd/MM/yyyy HH:mm:ss"); //24 HOUR FORMAT 
3

Verwendung von Erweiterungsmethoden sind auch eine gute Idee.

public static class MyExtensionClass 
{ 
    public static string ToFormat12h(this DateTime dt) 
    { 
     return dt.ToString("yyyy/MM/dd, hh:mm:ss tt"); 
    } 

    public static string ToFormat24h(this DateTime dt) 
    { 
     return dt.ToString("yyyy/MM/dd, HH:mm:ss"); 
    } 
} 

Dann können Sie diese 2 Methoden wie folgt verwendet werden:

var dtNow = DateTime.Now; 

var h12Format = dtNow.ToFormat12h(); // "2016/05/22, 10:28:00 PM" 
var h24Format = dtNow.ToFormat24h(); // "2016/05/22, 22:28:00" 
0

Überprüfen Sie den folgenden Code.

string time = Console.ReadLine(); 
DateTime dt = Convert.ToDateTime(time); 
String militaryDate = dt.ToString("HH:mm:sstt"); 
Console.Write(militaryDate);