Comment obtenez-vous l'heure actuelle?

269

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

Exemple: 17:42:12

Yahia
la source

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

Mark Brackett
la source
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
46

Essaye ça:

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

Pour d'autres formats, vous pouvez consulter ce site: Format C # DateTime

Musikero31
la source
43

Une autre option utilisant String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)
Chris Fulstow
la source
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)
Oppositionnel
la source
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
24
DateTime.Now.TimeOfDay

ou

DateTime.Now.ToShortTimeString()
benPearce
la source
15

Et c'est parti:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));
praguan
la source
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.

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

Essayez-le, utilisez-le pleinement selon vos besoins

Gupta
la source
9

Datetime.TimeOfDayrenvoie un TimeSpanet peut être ce que vous recherchez.

Stefan Schultze
la source
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 .

Greg D
la source
5

Cela peut être une solution possible:

DateTime now = DateTime.Now;
string time = now.ToString("T");
Hannan Hossain
la source
3

Pour calculer la date / heure actuelle:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);
Sadhana
la source
3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond
Sarat Chandra
la source
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

Khb
la source
2

très simple DateTime.Now.ToString("hh:mm:ss tt")

Ranjit Singh
la source
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 ...

David Castro
la source
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É

Douglas G. Allen
la source
1

Utilisez le code ci-dessous

DateTime.Now.ToString("h:mm:ss tt")
Bijeesh Raghavan
la source
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.

Albert
la source