5 Stimmen

c# - Wie kann ich eine Schleife durch einen Zeitbereich

Ich möchte die Startzeit auf 18 Uhr und die Endzeit auf 21 Uhr festlegen. Dieser Zeitbereich (etwas wie unten) wird für den täglichen Zeitplan verwendet. Wie implementiere ich in der for-Schleife? Vielen Dank für jede Antwort.

6:00 PM 
6:30 PM 
7:00 PM 
7:30 PM 
8:00 PM 
8:30 PM 
9:00 PM

7voto

Rey Rahadian Punkte 435

Sie könnten die while-Schleife verwenden

var startTime = DateTime.Parse("2012-01-28 18:00:00");
var endTime = startTime.AddHours(3);
while (startTime <= endTime)
{
  System.Console.WriteLine(startTime.ToShortTimeString());
  startTime = startTime.AddMinutes(30);
}

2voto

ken2k Punkte 46913

Einfaches Beispiel mit TimeSpan :

for (int minutes = 6 * 60; minutes <= 9 * 60; minutes += 30)
{
    Console.WriteLine(TimeSpan.FromMinutes(minutes));
}

0voto

youssoua Punkte 792

Sie können versuchen, mit DateTime.Now.Hour die Stunde abzurufen und if-Klauseln zu verwenden (siehe Beispiel unten).

if (DateTime.Now.Hour >= 9 && DateTime.Now.Hour <= 18) { Console.WriteLine("Bonjour " + Environment.UserName); }
                    else
                    {
                        Console.WriteLine("Bonsoir " + Environment.UserName);
                    }

0voto

Wenn u r durch aktuelle Datum mit einer Zeitspanne von wie 10:00:00 AM bis 17:00:00 PM dann u könnte den folgenden Code verwenden

 DateTime startTime = DateTime.Parse("10:00:00");

    DateTime endTime = DateTime.Parse("17:00:00");
while (startTime <= endTime)
{
  System.Console.WriteLine(startTime.ToShortTimeString());
  startTime = startTime.AddMinutes(30);
}

0voto

user369122 Punkte 742

Wenn Sie TimeSpan verwenden (Zeit anstelle von Zeit und Datum in DateTime)

TimeSpan interval = new TimeSpan(0, 30, 0);
TimeSpan beginTime = new TimeSpan(18, 00, 00);
TimeSpan endTime = new TimeSpan(21, 00, 00);

for(TimeSpan tsLoop = beginTime; tsLoop < endTime; tsLoop = tsLoop.Add(interval))
{

}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X