/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Nedtælling
Fra : Janus Høi


Dato : 02-04-04 22:45

Jeg har fundet et script på hotscripts.com der kan tælle ned til et givent
tidspunkt.

Desværre er scriptet lavet på engelsk.
Jeg har forsøgt at fordanske det en lille smule:

------
<?php
// Use included 'checktime.php' to determine server offset from your local
time
// and change value below:
define("OFFSET", 0);

/* NO NEED TO EDIT BELOW */

define("YSECS", 365*24*60*60);
define("DSECS", 24*60*60);
define("HSECS", 60*60);
define("MSECS", 60);

function countdown($detail, $year, $month = 1, $day = 1, $hour = 0, $minute
= 0, $second = 0) {
$years = $days = $hours = $minutes = $seconds = 0;
$now = mktime() + OFFSET*60*60;
$then = mktime($hour, $minute, $second, $month, $day, $year);
$cdown = abs($then - $now);

if ($detail == 1) $years = round($cdown/YSECS);
else $years = floor($cdown/YSECS);
$cdown %= YSECS;
if ($detail == 2) $days = round($cdown/DSECS);
else $days = floor($cdown/DSECS);
$cdown %= DSECS;
if ($detail == 3) $hours = round($cdown/HSECS);
else $hours = floor($cdown/HSECS);
$cdown %= HSECS;
if ($detail == 4) $minutes = round($cdown/MSECS);
else $minutes = floor($cdown/MSECS);
$cdown %= MSECS;
$seconds = $cdown;

$tnums = array($years, $days, $hours, $minutes, $seconds);
$ttext = array("År", "dag", "time", "minut", "sekund");

$shown = 0;

for ($i=0;$i<$detail;$i++) {
if ($tnums[$i]) {
echo "$tnums[$i] $ttext[$i]";
$shown++;
if ($tnums[$i] != 1) echo "s";
$count = 0;
for ($j=$i+1;$j<$detail;$j++) {
if ($tnums[$j]) $count++;
}
switch($count) {
case 0: break 2;
case 1: if ($shown>1) echo ","; echo " and "; break;
default: echo ", "; break;
}
}
}
if ($now > $then) echo " siden";
if ($now == $then) echo "nu";
}
?>
--------

På engelsk kan man jo blot sætte et 's' bagpå, og så har man pludselig
skrevet i flertal.

På dansk er det straks lidt mere besværligt:
År er stådig år, dag er dagE, time bliver timeR, minut skal skrives om til
minutTER, og der skal "ER" bagpå sekund.

Hvordan ændrer jeg scriptet, så dette løses?
--
Janus




 
 
Jakob Braad (03-04-2004)
Kommentar
Fra : Jakob Braad


Dato : 03-04-04 08:11

Lige under
> $tnums = array($years, $days, $hours, $minutes, $seconds);
> $ttext = array("År", "dag", "time", "minut", "sekund");
kan du f.eks. tilføje :
$tflertal = array("", "e", "r", "ter", "er");
som er de danske endelser.

Linien
> if ($tnums[$i] != 1) echo "s";
Udskifter du så med
if ($tnums[$i] != 1) echo $tflertal[$i];

Så burde det virke. Har ikke prøvet efter.


Janus Høi (03-04-2004)
Kommentar
Fra : Janus Høi


Dato : 03-04-04 11:29


"Jakob Braad" <jakob@jbraad.dk> skrev i en meddelelse
news:c4lo1l$10ul$1@news.cybercity.dk...

>
> Så burde det virke. Har ikke prøvet efter.
>
Tak. Det virker.
--
Janus



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste