Comment obtenez-vous l'heure actuelle?


269

Comment obtenez-vous l'heure actuelle (pas la date ET l'heure)?

Exemple: 17:42:12

Réponses:


391

DateTime.Now.TimeOfDayvous le donne en tant que TimeSpan(à partir de minuit).

DateTime.Now.ToString("h:mm:ss tt")vous le donne sous forme de chaîne .

Référence DateTime: https://msdn.microsoft.com/en-us/library/system.datetime


25
DateTime.Now.ToShortTimeString () fait la même chose que la deuxième suggestion.
Kyle Trauberman

4
enfin, presque pareil, il retourne une chaîne mais il manque la partie secondes du temps.
Kyle Trauberman

12
.ToString ("HH: mm: ss tt") vous donnerait 17:42:12 PM, tandis que .ToString ("h: mm: ss tt") vous donnerait 17:42:12 PM.
Merenzo

6
@Kyle - pas tout à fait exact. ToShortTimeString renvoie l'heure dans le format de temps court sélectionné par l'utilisateur, comme spécifié dans les paramètres de région de Windows.
BlackWasp


43

Une autre option utilisant String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)

25

Heure actuelle avec l'indicateur AM / PM:

DateTime.Now.ToString("hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("hh:mm:ss.fff tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)

Heure actuelle en utilisant la notation 0-23 heures:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)

3
@Anar, j'ai défait tes -1. La question est "Comment obtenir l'heure de la journée" , à laquelle toutes les réponses répondent. Votre vote négatif est dû au fait que vous avez lu la question comme "Comment formater les heures comme 5:00 PM" , tandis que OP uniquement (et explicitement) a mentionné ce format de date spécifique à titre d'exemple. Vous avez même rétrogradé la réponse de @ Musikero31 , alors qu'elle mentionne la page où tout le monde peut rechercher la chaîne de format qu'ils recherchent.
CodeCaster

Après avoir relu la question, je pense que vous ne vous trompez pas. Mais je ne me trompe pas non plus car s'il s'agit d'une question générale comme vous le proposez, alors la plupart des répondeurs ont mal compris la question puisque leurs réponses ne sont pas générales mais spécifiques. Dans l'ensemble, je pense que la question aurait pu être beaucoup plus claire. Soit dit en passant, que signifie «J'ai défait tes -1»?
anar khalilov

@Anar comme le formatage DateTime.Nowcomme une chaîne nécessite un format, ils ont dû mettre quelque chose . Cela ne fait pas de mauvaises réponses, mais si vous pensez qu'il devrait y avoir un autre format, n'hésitez pas à les modifier. Je voulais dire que j'ai surévalué les réponses sous-évaluées.
CodeCaster

1
Il n'y avait pas y avoir de misundestandings qu'ils auraient mis toutes les versions pas quelque chose qui vient en premier à l' esprit. Nous savons tous que SO est très généreux pour les personnes qui s'efforcent de répondre. Mais oui, ne s'écartons pas beaucoup du sujet. Tout ce que je peux dire, c'est que je vais revoir tous mes -1 et décider à nouveau.
anar khalilov


15

Et c'est parti:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));

2
Le ttemps doit être capitalisé. Fixé pour votre.
Programmeur

12

Ce sera mieux, essayez celui-ci

    DateTime.Now.ToShortTimeString();

Pour cela, vous n'avez pas besoin de spécifier le format de l'heure.


11
DateTime.Now.ToString("yyyy-MM-dd h:mm:ss tt");

Essayez-le, utilisez-le pleinement selon vos besoins



8

Obtenez la date et l'heure actuelles, puis utilisez simplement la partie heure. Examinez les possibilités de formatage d'une chaîne de date et d'heure dans les documents MSDN .


5

Cela peut être une solution possible:

DateTime now = DateTime.Now;
string time = now.ToString("T");

3

Pour calculer la date / heure actuelle:

DateTime theDate = DateTime.UtcNow;

string custom = theDate.ToString("d");

MessageBox.Show(custom);

3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond

2

Cela ne vous montrera que l'heure actuelle, au format 24 heures:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(DateTime.Now.ToLongTimeString().ToString());
        Console.WriteLine(DateTime.Now.ToShortTimeString().ToString());
        Console.ReadLine();
    }
}

Cordialement
K



2
MyEmail.Body = string.Format("The validation is done at {0:HH:mm:ss} Hrs.",DateTime.Now);

Peut utiliser {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}, etc ...


1

J'expérimente aussi avec cela et je trouve ces pages utiles aussi. Tout d'abord la classe principale ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Maintenant, certains formats de spécificateur pour la méthode ToString ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Exemple:

using System;

namespace JD
{
    class Program
    {
        public static DateTime get_UTCNow()
        {
            DateTime UTCNow = DateTime.UtcNow;
            int year = UTCNow.Year;
            int month = UTCNow.Month;
            int day = UTCNow.Day;
            int hour = UTCNow.Hour;
            int min = UTCNow.Minute;
            int sec = UTCNow.Second;
            DateTime datetime = new DateTime(year, month, day, hour, min, sec);
            return datetime;
        }

        static void Main(string[] args)
        {
            DateTime datetime = get_UTCNow();            

            string time_UTC = datetime.TimeOfDay.ToString();
            Console.WriteLine(time_UTC);

            Console.ReadLine();

        }
    }
}

J'ai jeté cette méthode TimeOfDay là-dedans juste pour montrer que vous obtenez une heure par défaut de 24 heures comme indiqué "l'heure de minuit"

Vous pouvez utiliser ma méthode geter (); :-RÉ


1

Utilisez le code ci-dessous

DateTime.Now.ToString("h:mm:ss tt")

En quoi cela diffère-t-il de la réponse la plus votée?
Cray

-6

Essaye celui-là. Son travail pour moi dans l'application Web d'architecture 3tier.

"'" + DateTime.Now.ToString() + "'"

N'oubliez pas les guillemets simples dans la requête d'insertion.

Par exemple:

string Command = @"Insert Into CONFIG_USERS(smallint_empID,smallint_userID,str_username,str_pwd,str_secquestion,str_secanswer,tinyint_roleID,str_phone,str_email,Dt_createdOn,Dt_modifiedOn) values ("
 + u.Employees + ","
 + u.UserID + ",'"
 + u.Username + "','"
 + u.GetPassword() + "','"
 + u.SecQ + "','"
 + u.SecA + "',"
 + u.RoleID + ",'"
 + u.Phone + "','"
 + u.Email + "','"
 + DateTime.Now.ToString() + "','"
 + DateTime.Now.ToString() + "')";

L' DateTimeinsertion à la fin de la ligne.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.