2009-06-11 2 views
1

ich mit Zeitstempel zeigen müssen, wie unten in meinem Net-Anwendung angezeigt:Anzeigen für Datum und Uhrzeit C#

13/12/2007 5:04 PM EST

oder

13/12/2007 5 : 04 PM CST

je nach US-Zeitzone.

Wie erreiche ich diese Funktionalität mit C# ??

Danke fürs Lesen.

Antwort

5
Console.WriteLine(DateTime.Now + " " + TimeZone.CurrentTimeZone.StandardName); 

kehrt

6/10/2009 7:45:14 Uhr mittel Standard Time

TimeZone.CurrentTimeZone.StandardName den langen Namen zurückkehren und ich glaube, Sie Ihren Code ändern müssen ein bisschen, um den abr. für jede Zone.

+0

Dank einer Tonne James ..! –

+0

Kein Problem, froh zu helfen. – Inisheer

4

Sie können einfach die .ToLongDateString() Methode von DateTime aufrufen, und das Ergebnis wird entsprechend den Einstellungen auf dem lokalen System formatiert.

1

Verwenden Sie die DateTime.ToString(string) Methode:

DateTime.ToString("dd/MM/yyyy h:mm t K") 

Dies wird Ihr Ausgabeformat nicht genau übereinstimmen, aber es wird nahe kommen. Da "EST" und "CST" nicht international freundlich sind, zeigt es nur eine Abweichung von der UTC-Zeit an.

0

Hallo Hier ist Ihre solotion

private string ShortTimeZone(string timeZoneFormat) 
    { 
     string[] TimeZoneElements = timeZoneFormat.Split(' '); 
     string shortTimeZone = String.Empty; 

     foreach (string element in TimeZoneElements) 
     { 
      shortTimeZone += element[0]; 
     } 

     return shortTimeZone; 
    }