Anzahl der vergangenen Tage berechnen?
Übersicht

![]() |
JeanBetreff: Anzahl der vergangenen Tage berechnen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Zusammen
Ich meinem Spiel benötige ich die Anzahl der bereits vergangenen Tage bis zu einem bestimmten Datum. Da ich mich mit der Berechnung von Schaltjahren und solchen Dingen überhaupt nicht auskenne (und da mir das etwas zu komplex erscheint) hoffe ich, dass mir dabei jemand helfen kann. Vielen Dank Jan |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Alle vier Jahre ist ein Schaltjahr. Bei einer Jahrhunderwende fällt das Schaltjahr aus, dafür gibt es alle 400 Jahre wieder eins. Ich hoffe das hilft dir was. Oder willst du wissen, wie man es berechnet ? mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
- Zuletzt bearbeitet von Cardonic am So, Mai 21, 2006 23:43, insgesamt einmal bearbeitet
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
PHP unterstützt den julianischen Zeitkalender (<- hoffe richtig so)
Dabei geschieht erstmal die Umwandlung des heutigen Zeitpunkts in die julianische Zeitrechnung. Dann wird das zu vergleichendende Datum ebenfalls dahinein "übersetzt". Nun subrahiert man beide julianischen Zeitpunkte und wandelt das Ergebnis wieder in einen "normalen" Zeitpunkt um. Ich weiß nicht, ob es einen Algo für BB dafür gibt ![]() |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
vielleicht hilft dir das hier weiter: http://blitzbase.de/quellcode/datumarithmetik.bb |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt einen (anderen) Algo. Such mal in diesem anderen, englischen Forum. Ich glaube unter www.blitzbasic.com
Edit: Ich kann einfach net schnell genug antworten... |
||
![]() |
Jean |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank für die vielen Antworten.
Ich habe mit den Angaben von Cardonic eine Funktion geschrieben. Ich bin mir jedoch nicht ganz sicher, ob sie auch wirklich korrekt läuft. Ich wäre dankbar wenn sie mal jemand ausprobieren und überprüfen würde. Code: [AUSKLAPPEN] Print tage(2006,5,21)
WaitKey Function tage(jahr,monat,tag) schaltjahre = (jahr-1) / 4 schaltjahre = schaltjahre - (jahr-1) / 100 schaltjahre = schaltjahre + (jahr-1) / 400 tage = schaltjahre * 366 tage = tage + ((jahr-1) - schaltjahre) * 365 For x = 1 To monat-1 Select x Case 1 tage = tage + 31 Case 2 If jahr Mod 4 = 0 Then tage = tage + 29 Else tage = tage + 28 EndIf Case 3 tage = tage + 31 Case 4 tage = tage + 30 Case 5 tage = tage + 31 Case 6 tage = tage + 30 Case 7 tage = tage + 31 Case 8 tage = tage + 31 Case 9 tage = tage + 30 Case 10 tage = tage + 31 Case 11 tage = tage + 30 Case 12 tage = tage + 31 End Select Next tage = tage + tag-1 Return tage End Function |
||
- Zuletzt bearbeitet von Jean am Mo, Mai 22, 2006 19:42, insgesamt einmal bearbeitet
Steffen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Cardonic hat Folgendes geschrieben: Alle vier Jahre ist ein Schaltjahr. Bei einer Jahrhunderwende fällt das Schaltjahr aus, dafür gibt es aber jede Jahrtausendwende wieder eins. Kleine Verbesserung: Nicht alle 1000, sondern alle 400 Jahre ist trotzdem ein Schaltjahr. |
||
>PC: Pentium III 750MHz, ATI Rage 128 mit 32Mb, Windows Me, Blitz3D 1.87
>Laptop: Pentium M 1,4GHz, 512 Mb DDR, ATI Mobility Radeon 9000 mit 64Mb DDR, Windows XP Home, Blitz3D 1.87 |
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oops ![]() mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Jean |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank für den Hinweis, habe meinen Code geändert.
Danke nochmals! Jan |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Case 3
tage = tage + 31 Case 4 tage = tage + 30 Case 5 tage = tage + 31 Case 6 tage = tage + 30 Case 7 tage = tage + 31 Case 8 tage = tage + 31 Case 9 tage = tage + 30 Case 10 tage = tage + 31 Case 11 tage = tage + 30 Case 12 tage = tage + 31 Kann man kürzer fassen (zwar nicht soo leicht zu verstehen, aber kürzer ![]() Code: [AUSKLAPPEN] Case 1,3,5,7,8,10,12 tage=tage+31 Case 4,6,9,11 tage=tage+30 Case 2 If jahr Mod 4 = 0 Then tage = tage + 29 Else tage = tage + 28 EndIf End Select |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group