Très simple en utilisant le format chaîne
sur .ToSTring("") :
si vous utilisez "hh" - >> L'heure, en utilisant une horloge de 12 heures de 01 à 12.
si vous utilisez "HH" - >> L'heure, en utilisant une horloge de 24 heures de 00 à 23.
si vous ajoutez "tt" - >> L'indicateur Am / Pm.
exemple de conversion de 23h12 à 23h12:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("hh:mm tt"); // this show 11:12 Pm
var res2 = d.ToString("HH:mm"); // this show 23:12
Console.WriteLine(res);
Console.WriteLine(res2);
Console.Read();
attendez une seconde ce n'est pas tout ce dont vous avez besoin pour vous soucier d'autre chose est le système Culture car le même code exécuté sur des fenêtres avec un autre langage spécialement avec un langage de culture différent générera un résultat différent avec le même code
exemple de fenêtres réglées sur la culture de langue arabe montrera comme ça:
// 23:12 م
م signifie Soir (premier leter de مساء).
dans un autre système, la culture dépend de ce qui est défini sur l'option régionale et linguistique de windows, il affichera // 23:12 du.
vous pouvez changer entre différents formats sur le panneau de configuration de Windows sous windows régional et langue -> format actuel (combobox) et changer ... appliquez-le faites une reconstruction (exécutez) de votre application et regardez ce dont je parle.
Alors, qui puis-je forcer à afficher les mots Am et Pm en anglais si la culture du système actuel n'est pas définie sur l'anglais?
facile simplement en ajoutant deux lignes: ->
la première étape ajouter using System.Globalization;
au-dessus de votre code
et en modifiant le code précédent pour qu'il ressemble à ceci:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.InvariantCulture); // this show 11:12 Pm
InvariantCulture => en utilisant le format anglais par défaut.
une autre question, je veux que le pm soit en arabe ou dans une langue spécifique, même si j'utilise des fenêtres définies au format régional anglais (ou autre langue)?
Soution pour l'arabe Exemple:
DateTime d = new DateTime(1, 1, 1, 23, 12, 0);
var res = d.ToString("HH:mm tt", CultureInfo.CreateSpecificCulture("ar-AE"));
cela montrera // 23:12 م
événement si mon système est défini sur un format de région anglais. vous pouvez changer "ar-AE" si vous voulez un autre format de langue. il y a une liste de chaque langue et son format.
exemples:
ar ar-SA Arabic
ar-BH ar-BH Arabic (Bahrain)
ar-DZ ar-DZ Arabic (Algeria)
ar-EG ar-EG Arabic (Egypt)
big list...
faites-moi savoir si vous avez une autre question.
DateTime
que cela. Voir msdn.microsoft.com/en-us/library/8kb3ddd4.aspx