Je vais avoir le code ci-dessous pour afficher l'heure actuelle:Obtenez heure à l'heure changement
static void Main(string[] args)
{
while (true)
{
ShowDate(GetTime(),GetDate());
//Here's my issue:
System.Threading.Thread.Sleep(1000);
}
}
//Clear Console and write current Date again.
static void ShowDate(String time, String date)
{
Console.Clear();
Console.WriteLine(date);
Console.WriteLine(time);
}
static string GetTime()
{
string timeNow = DateTime.Now.ToString("HH:mm:ss");
return timeNow;
}
static string GetDate()
{
string dateNow = DateTime.Now.ToString("dd.MM.yy");
return dateNow;
}
Eh bien, dans ma compréhension, Thread.Sleep(1000)
montre que le temps chaque seconde mesuré après le début du programme. Donc, il ne montre pas l'heure parfaitement correcte. Je pourrais essayer une valeur inférieure pour Thread.Sleep()
, mais c'est encore un peu inexact et devient probablement un peu inefficace. Est-il possible, par exemple, de mettre à jour l'heure chaque fois que le système met à jour son heure? Quelque chose comme un event listener
peut-être?
comment voulez-vous dire son «un peu inexact? –
Qu'est-ce que vous devez accomplir? – NicoRiff
Ce que vous essayez d'obtenir n'est pas clair. Voulez-vous simplement afficher le datetime actuel par intervalles d'une seconde? –