web-dev-qa-db-fra.com

Comment convertir une heure de 24 heures en 12 heures en VB.net au format hh: mm AM/PM

Alors disons que j'ai 1400, je veux le convertir en 14:00

J'ai essayé ce qui suit:

Dim convertedTime As String = DateTime.ParseExact(theTime,"HHmm", Nothing)

Et cela me donnerait ceci:

6/12/2012, 14h00

Je ne veux pas la date, je n'ai pas besoin des secondes non plus. Tout ce dont j'ai besoin est 14h00

Comment pourrais-je y parvenir? Merci!

7
eastboundr

La méthode ParseExact renvoie une valeur DateTime et non une chaîne. Si vous l'assignez à une variable chaîne, vous la convertirez automatiquement, qui utilise le formatage standard.

Si vous le souhaitez dans un format spécifique, formatez la valeur DateTime en tant que chaîne:

Dim d As DateTime = DateTime.ParseExact(theTime,"HHmm", Nothing);
Dim convertedTime As String = d.ToString("hh:mm tt")
12
Guffa

Label1.Text = Format(Now, "hh:mm"): Texte de Label1 = 10:26 (ou quelle que soit l'heure)

Label1.Text = Format(Now, "hh:mm tt"): Texte de l'étiquette = 22h26

Label1.Text = Format(Now, "dddd dd, MMMM, YYYY"): Text1 Label1 = jeudi 21 août 2014 (ou quelle que soit la date)

1
user2507265
Label1.Text = Now.ToShortTimeString.ToString()   (10:26 PM)

Label1.Text = Now.ToLongTimeString.ToString()    (10:26:30 PM) 
1
user2786420
Dim theTime = New Date(2012, 6, 12, 14, 0, 0)
Dim formatted = theTime.ToString("h:mm tt", Globalization.CultureInfo.InvariantCulture)

Chaînes de format de date et heure personnalisées

1
Rango

Essaye celui-là...

  Dim TimeNow As String
  TimeNow = TimeOfDay.ToString("h:mm:ss tt")
0
edCoder

Il y a deux façons d'y parvenir.

Option 1 (en utilisant les chaînes de format de date et d'heure standard ):

Dim theTime As DateTime = new DateTime(2008, 4, 10, 6, 30, 0)
Dim convertedTime As String = 
    theTime.ToString("t", CultureInfo.CreateSpecificCulture("en-us"))

Option 2 (en utilisant des chaînes de format de date et d'heure personnalisées ):

Dim theTime As DateTime = new DateTime(2008, 4, 10, 6, 30, 0)
Dim convertedTime As String = theTime.ToString("hh:mm tt")

Dans les deux cas, convertedTime sera 6:30 AM

0
Dennis Traub