bBU.CyTrobIc
#include "billrulz.h"
|
hallo ich brauch ein script was sich alle 5 sekunden aktualisiert, und folgendes tut: die zeit runterrechnen vom heutigem Datum zum 1.1.2003 00:00 uhr also genau jahreswechsel 2003-2004. das aktuelle datum, der timer mit zeit und das enddatum sollen sichtbar sein. könnt mir wer hier so ein kleines script zur veranschaulichung machen ? wäre echt nett denn ich bekomms einfach nicht hin. formelasuzüge usw. nützen mir nicht viel da ich sie nicht zusammen bekomme  vielen dank euch schonmal !!! mfg Gerrit
|
atrox
in fairy dust... I trust!
|
wohl eher ein javascript/dhtml problem
|
noledge
CWNE #540
|
meinst nicht den 1.1.2004?  was solls runterzählen? tage? sekunden?
|
vossi
been there, done that
|
ja das is ganz einfach
gib mir 10 minuten und es steht da .. sonst machts keiner weil doppelarbeit hass ich!
|
atrox
in fairy dust... I trust!
|
ok.. vossi hat übernommen
|
vossi
been there, done that
|
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Countdown</title>
</head>
<body>
<?php
$now_timestamp = time();
$target_timestamp = mktime(0, 0, 0, 12, 31, 2003);
$left_timestamp = $target_timestamp - $now_timestamp;
$now_time = strftime("%d.%m.%Y | %H:%M", $now_timestamp);
$target_time = strftime("%d.%m.%Y | %H:%M", $target_timestamp);
$left_time = strftime("%d Tage %m Monate %H Stunden und %M Minuten verbleibend", $left_timestamp);
echo "Heute: $now_time<br/>Jahreswechsel: $target_time<br/>verbleibende Zeit: $left_time";
?>
</body>
<script language="JavaScript">
function doRefresh()
{
document.location.href = document.location.href;
}
window.setTimeout("doRefresh()", 5000);
</script>
</html>
ok .. soweit so gut. bei der verbleibenden zeit ausgabe muss ich nochmal nachdenken .. ich geh jetzt kurz Pause machen (bin @ school) dann fix ich das
|
noledge
CWNE #540
|
mach den refresh per <meta http-equiv="refresh" content="5"> - javascript is unnötig.
und bist du nicht einen tag zu früh? jahreswechsel ist 1.1.2004 0:00, nicht 31.12.2003 0:00
|
atrox
in fairy dust... I trust!
|
sorry, daß ich doch eingreife aber das geht wesentlich einfacher - und sogar ohne php - folgendes skript ist für IE5+ und ns6/mozilla: <script>
function doZeitRefresh() {
// fuer die uebersichtlichkeit in einzelne variablen aufgeschlüsselt:
ziel=new Date(2004,0,1);
jetzt=new Date();
diff=ziel.getTime()-jetzt.getTime(); //mSek
tage=Math.floor(diff/86400000);
stunden=Math.floor(diff/3600000)%24
min=Math.floor(diff/60000)%60;
sek=Math.floor(diff/1000)%60;
allsek=Math.floor(diff/1000);
document.getElementById("zeitanzeige").innerHTML="insgesamt "+allsek+" sekunden - oder - "+tage+" tage, "+
stunden+" stunden, "+min+" minuten und "+sek+" sekunden";
window.setTimeout("doZeitRefresh()", 1000);
}
</script>
<body onload="doZeitRefresh()">
bis 1.1.2004 sind es <span id="zeitanzeige">(platzhalter)</span>
Bearbeitet von atrox am 06.02.2003, 13:47 (tippfehler + other)
|
vossi
been there, done that
|
ja das meta refresh hab ich ganz vergessn.
dunno wie das mitn jahreswechsel genau is .. ich check das mal
|
vossi
been there, done that
|
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<meta http-equiv="refresh" content="5">
<head>
<title>Countdown</title>
</head>
<body>
<?php
//Gewünschtes Jahr
$year = 2003;
//Aktuelle, gewuenschte und verbleibende Zeit
$now_timestamp = time();
$target_timestamp = mktime(0, 0, 0, 12, 31, $year);
$left_timestamp = $target_timestamp - $now_timestamp;
$now_datetime = strftime("%d.%m.%Y | %H:%M", $now_timestamp);
$target_datetime = strftime("%d.%m.%Y | %H:%M", $target_timestamp);
//Nachkomma Stellen abschneiden
settype($left_seconds, 'integer');
settype($left_minutes, 'integer');
settype($left_hours, 'integer');
settype($left_days, 'integer');
settype($left_months, 'integer');
//Aktuelle Daten
$actual_month = strftime("%m", $now_timestamp);
$actual_day = strftime("%d", $now_timestamp);
//Schaltjahr Abfrage
if ((($year % 4 == 0) && ($year % 100 != 0)) || ($year % 400 == 0))
$leapyear = true;
else
$leapyear = false;
//Tage im Monat
switch ($actual_month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
{ $dayspermonth = 31; } break;
case 2 :
{
if ($leapyear)
$dayspermonth = 29;
else
$dayspermonth = 28;
} break;
default :
{ $dayspermonth = 30;}
}
//Zusammenstoepseln -> Datum
$days = $dayspermonth - $actual_day;
$months = 12 - $actual_month-1;
$left_date = "$days Tage $months Monate";
//Zusammenstoepseln -> Zeit
$left_hours = strftime("%H", $left_timestamp);
$left_hours--;
$left_minutes = strftime("%M", $left_timestamp);
$left_time = "$left_hours Stunden $left_minutes Minuten";
//Ausgabe
echo "Heute: $now_datetime<br/>Jahreswechsel: $target_datetime<br/>verbleibende Zeit: $left_date | $left_time";
?>
</body>
</html>
so .. wow .. da merkt man wieder wie dumm das gregorianische Kalendersystem ist ... ich würd alles auf UNIX Timestamps umstellen
Bearbeitet von vossi am 06.02.2003, 14:56
|
atrox
in fairy dust... I trust!
|
was spricht dagegen gleich mit den timestamps zu rechnen? schaltjahre sollten dann automatisch stimmen.
|
vossi
been there, done that
|
ja dann zieh mal einen timestamp vom andrem ab .. und wie gibst dann das ganze richtig aus mit monat tag stunden minuten?
|
atrox
in fairy dust... I trust!
|
das sind sekunden seit 1970 (in javascript sind es milisek seit 1970) mktime -- Get UNIX timestamp for a date
int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])
Returns the Unix timestamp corresponding to the arguments given. This timestamp
is a long integer containing the number of seconds between the Unix Epoch (January 1 1970)
and the time specified.
Bearbeitet von atrox am 06.02.2003, 15:35 (readablity)
|
atrox
in fairy dust... I trust!
|
Mach mal auf SR einen Vergleich zw. einer WD SE 200GB und einer Atlas III 73GB. Bis auf serverspezifische Anwendungen 0wnt die 7200er IDE-Maxtor die 10k Atlas ganz böse.
die 'welt' läuft bereits mit unix timestamps
|
vossi
been there, done that
|
du brauchst mir nicht zu erklären was das is .. das weiss ich danke .. sonst würd ich die dinger nicht benutzen bzw. leichtfertig voneinander subtrahieren. die welt läuft mit unix timestamps .. aber nicht meine uhr
|