C# datetime, ich möchte die aktuelle zeit nur STUNDEN und MINUTEN ausgeben?
Der Titel sagt das meiste, aber dann würde ich noch gerne das überprüfen wollen, also z.B. wenn es 8:12, dann soll er befehle ausführen.
Danke
4 Antworten
Aus dem Kopf:
private void Test()
{
if (DateTime.Now.Hour == 8 && DateTime.Now.Minute == 12)
{
}
}
Wie fragst du das ab? Mit einem Timer? Du solltest öfter abfragen als einmal pro Minute, zur Sicherheit, dass du immer diese Kombination triffst. Wenn du seltener abfragst, also alle 2 Minuten, um 8:11 und 8:13 Uhr, kann es passieren, dass er das ignoriert.
Haha, ja danke. War hilfreich. Es geht um VIdeokonferenzen, das Programm soll automatisch in die VK sich einloggen.
Es funktioniert nicht.
private void timer1_Tick(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
if (DateTime.Now.Hour == 8 && DateTime.Now.Minute == 40)
.....
So steht das bei mir. Interval = 60000 (60 Sek) und er führt gar nichts aus.
Mit .ToString("t") bzw. .ToString("HH:mm") auf deiner DateTime-Instanz bekommst du die Uhrzeit ausgegeben (abhängig von den aktuellen Kultureinstellungen des Betriebssystems).
Mit (DateTime.Now() - DateTime.Date()).TotalMinutes die Minuten seit Mitternacht.
@IloveChickens ich mache eine neue Antwort, da ich im Kommentarbereich keinen Code posten kann.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Timer1_Tick(object sender, EventArgs e)
{
if (CheckBox1.Checked)
{
if (System.DateTime.Now.Hour == 13 && System.DateTime.Now.Minute == 02)
{
MessageBox.Show("Hallo");
}
}
}
private void Button_Timerstart_Click(object sender, EventArgs e)
{
Timer1.Start();
}
private void Button_Timerstop_Click(object sender, EventArgs e)
{
Timer1.Stop();
}
}
}

Vielleicht kannst du mir aber bei meiner neuen Frage helfen.
Ich habe das Problem inzwischen behoben, aber danke :)
Microsoft hat da eine Dokumentation zu DateTime:
DateTime Struktur (System) | Microsoft Docs
DateTime.Hour Eigenschaft (System) | Microsoft Docs u. a. (siehe Menübaum links)
Und pass mit der Nacht auf, in der auf Sommerzeit umgestellt wird. Dann kommt 2:30 Uhr zweimal vor 😉