Supposons que j'ai la valeur 22/06/2009 10:00:00. Comment puis-je obtenir seulement 10h00 à partir de cette date.
Supposons que j'ai la valeur 22/06/2009 10:00:00. Comment puis-je obtenir seulement 10h00 à partir de cette date.
Réponses:
Vous avez de nombreuses options pour cela:
DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock
Lien utile: Modèles DateTime.ToString ()
sscorrespond aux secondes avec un zéro snon
À partir de a DateTime, vous pouvez utiliser .TimeOfDay- mais cela vous donne une TimeSpanreprésentation de l'heure dans la journée (10 heures).
Il n'y a que le type DateTime en C # et il se compose à la fois de la partie date et heure. Si vous ne vous souciez pas de la partie Date de DateTime, définissez-la sur la valeur par défaut comme suit:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
De cette façon, vous pouvez être cohérent dans toutes les versions de .NET, même si Microsoft décide de changer la date de base en autre chose que 1/1/0001.
Vous souhaiterez peut-être examiner la méthode DateTime.ToShortTimeString () .
En outre, il existe de nombreuses autres méthodes et propriétés sur l' objet DateTime qui peuvent vous aider à formater la date ou l'heure de la manière que vous souhaitez. Jetez un œil à la documentation.
Essaye ça:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Il existe différentes manières de procéder. Vous pouvez utiliser DateTime.Now.ToLongTimeString()qui renvoie uniquement l'heure au format chaîne.
DateTime.ToLongTimeString()plutôt que DateTime.Now.ToLongTimeString(). Compte tenu de l'âge de ce fil, mieux vaut ne pas le ressusciter à moins que la réponse n'apporte une amélioration significative par rapport aux réponses précédentes.
Vous pouvez simplement écrire
string time = dateTimeObect.ToString("HH:mm");
Vous pouvez utiliser ceci
lblTime.Text = DateTime.Now.TimeOfDay.ToString();
Il est en temps réel avec une valeur en millisecondes et se règle uniquement sur l'heure.
DateTime now = DateTime.Now;
now.ToLongDateString(); // Wednesday, January 2, 2019
now.ToLongTimeString(); // 2:33:59 PM
now.ToShortDateString(); // 1/2/2019
now.ToShortTimeString(); // 2:16 PM
now.ToString(); // 1/2/2019 2:33:59 PM
Vous pouvez utiliser ToString("T")pendant longtemps ou ToString("t")pour une courte période.
si vous utilisez gridview, vous ne pouvez afficher que l'heure avec l' DataFormatString="{0:t}"
exemple:
By bind the value:-
<asp:Label ID="lblreg" runat="server" Text='<%#Eval("Registration_Time ", "{0:t}") %>'></asp:Label>
By bound filed:-
<asp:BoundField DataField=" Registration_Time" HeaderText="Brithday" SortExpression=" Registration Time " DataFormatString="{0:t}"/>
Si vous cherchez à comparer les heures, et non les dates, vous pouvez simplement avoir une date de comparaison standard ou correspondre à la date que vous utilisez, comme dans ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Il existe peut-être de meilleures façons d'y parvenir, mais gardez les dates correspondantes.
Vous devez également tenir compte de DateTime Kind.
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}