AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zeitspanne in Minutenraster auflösen

Ein Thema von mika · begonnen am 20. Mär 2006 · letzter Beitrag vom 20. Mär 2006
Antwort Antwort
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#1

Zeitspanne in Minutenraster auflösen

  Alt 20. Mär 2006, 20:28
Hallo Delphipraxis,

ich hoffe mal der Titel ist nicht allzu doof gewählt. Ich habe das Problem das ich eine Zeitspanne in
ein Raster einteilen muss. Habe schon mehrere Sachen überlegt glaub aber nicht das was vernünftiges bei
meinen Ideen dabei war. Vielleicht hat einer von euch das schon mal gemacht.

Ich habe also eine Zeitspanne X "08:13 - 10:08 Uhr" die 1 Stunde und 55 Minuten beträgt.
Dazu habe ich ein Minutenraster von 15 Minuten, das variabel ist (15, 30, 60, 90, 240 Minuten)

Punkt 1
Nun brauch ich eine Funktion die mir das ganze in dieses Raster aufteilt, ungefähr so

Zeitspanne 08:13 - 10:08, Raster = 15 Minuten
--------------------------------
08:00 - 08:15: 2 Minuten
08:15 - 08:30: 15 Minuten
08:30 - 08:45: 15 Minuten
08:45 - 09:00: 15 Minuten
09:00 - 09:15: 15 Minuten
09:15 - 09:30: 15 Minuten
09:30 - 09:45: 15 Minuten
09:45 - 10:00: 15 Minuten
10:00 - 10:15: 8 Minuten


Punkt 2
Das ganze habe ich gedacht packe ich in eine Klasse die ich in einer Objektliste stecke damit ich das
schön bequem in einer Schleife durchlaufen lassen kann wenn die Zeit aufgerastert ist.

Kann mir jemand helfen bei Punkt 1? Den Rest müsste ich eigentlich alleine hinbekommen aber irgendwie
sitz ich grad bei dem aufteilen der Zeit in das Raster auf dem Schlauch...


Danke schonmal, Michael
:: don't Panic ::
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Zeitspanne in Minutenraster auflösen

  Alt 20. Mär 2006, 21:53
Hallo Michael,

wenn du den Tag in rechts halboffene Zeitintervalle aufteilst, dann liefert dir diese Funktion das Intervall-Minimum für einen gegebenen Zeitpunkt:

Delphi-Quellcode:
// uses DateUtils;
// gridSize ist das Minutenraster

function GetIntervalMin(dt: TDateTime; gridSize: Integer): TDateTime;
begin
  Result := OneMinute * (MinuteOfTheDay(dt) div gridSize) * gridSize;
end;
Der Rest sollte einfach sein.

Grüße vom marabu
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz