2009-06-11 3 views
1

je dois montrer timestamp comme indiqué ci-dessous dans mon application .Net:Affichage Datetime en utilisant C#

13/12/2007 17h04 EST

ou

13/12/2007 5 : 04 PM CST

en fonction du fuseau horaire américain.

Comment puis-je réaliser cette fonctionnalité en utilisant C# ??

Merci d'avoir lu.

Répondre

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

retours

6/10/2009 19:45:14 Heure normale du Centre

TimeZone.CurrentTimeZone.StandardName retourne le nom long et je crois que vous devrez modifier votre code un peu pour obtenir le abr. pour chaque zone.

+0

merci ton James ..! –

+0

Pas de problème, heureux d'aider. – Inisheer

4

Vous pouvez simplement appeler la méthode .ToLongDateString() d'une DateTime et formater le résultat en fonction des paramètres du système local.

1

Utilisez la méthode DateTime.ToString(string):

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

Cela ne correspond pas à votre format de sortie exactement, mais il va se rapprocher. Comme "EST" et "CST" ne sont pas adaptés à l'international, ils affichent simplement une divergence par rapport à l'heure UTC.

0

Bonjour Voici votre solotion

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

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

     return shortTimeZone; 
    }