|
| kik på dit ur Fra : heyhey | Vist : 280 gange 10 point Dato : 08-10-03 07:22 |
|
hvad er klokken
| |
| Kommentar Fra : skingur |
Dato : 08-10-03 07:24 |
| | |
| Kommentar Fra : skingur |
Dato : 08-10-03 07:24 |
| | |
| Kommentar Fra : skingur |
Dato : 08-10-03 07:25 |
| | |
| Kommentar Fra : skingur |
Dato : 08-10-03 07:26 |
| | |
| Kommentar Fra : skingur |
Dato : 08-10-03 08:35 |
| | |
| Kommentar Fra : CLAN |
Dato : 08-10-03 08:42 |
|
Så erdet bare at gå i gang...
Citat Klokken (JavaScript)
Det er onsdag den ottende oktober og klokken er syv minutter over halv ni.
Ugens nummer er 2003-41. Det er årets 281. dag.
Selve programmet
Denne lille smule output er resultatet af følgende javascript. Det ville være rart med en JulianDate eller lignende, men som det ses kan man klare sig uden. Programmet bruger getYear i stedet for getFullYear, da man alligevel er nødt til at bruge getYear, hvis en browser ikke forstår JavaScript 1.3. Af en eller anden grund har man valgt at ændre definitionen på getYear for år før 1900, så man nu har både før 1900 og efter 1999 som specialtilfælde. Programmet her tester for om getYear returnerer noget, der er mindre end 1000 og lægger i så fald 1900 til. Det virker i begge varianter.
function tidspkt(min,hour) {
var k = min + " over " + hour;
hour = hour % 12;
var thishour = hour;
var nexthour = hour + 1;
if (hour % 12 == 0) thishour = 12;
if (nexthour % 12 == 0) nexthour = 12;
var ma = 30 - min;
var mb = min - 30;
var mc = 60 - min;
if (min == 0) return talOrd[thishour];
if (min == 15) return "kvart over " + talOrd[thishour];
if (min == 30) return "halv " + talOrd[nexthour];
if (min == 45) return "kvart i " + talOrd[nexthour];
if (min == 1) return talOrd[min] + " minut over " + talOrd[thishour];
if (min <= 20) return talOrd[min] + " minutter over " + talOrd[thishour];
if (ma == 1) return talOrd[ma] + " minut i halv " + talOrd[nexthour];
if (min <= 30) return talOrd[ma] + " minutter i halv " + talOrd[nexthour];
if (mb == 1) return talOrd[mb] + " minut over halv " + talOrd[nexthour];
if (min <= 40) return talOrd[mb] + " minutter over halv " + talOrd[nexthour];
if (mc == 1) return talOrd[mc] + " minut i " + talOrd[nexthour];
if (min <= 60) return talOrd[mc] + " minutter i " + talOrd[nexthour];
}
var daysInPastMonths = new Array(0,31,59,90,120,151,181,212,243,273,304,334);
function yday(y,m,d) {
// d = 1..31, m = 0..11, y = xxxx
var yd = d + daysInPastMonths[m];
if (m > 1) {
if (y % 4 == 0) yd++;
if (y % 100 == 0) yd--;
if (y % 400 == 0) yd++;
}
return yd;
}
function ugenummer (d,m,y) {
var t,wd,yd,thisThursday,week,nY,pY;
// d:1..31 m:0..11 y:fircifret årstal
//#en dag har samme ugenr som torsdagen i samme uge
t = new Date (y,m,d);
wd = t.getDay();
yd = yday(y,m,d);
if (wd == 0) wd = 7;
d = d + 4 - wd;
yd = yd + 4 - wd;
nY = (m == 11); if (nY) nY = (d > 31);
pY = (m == 0); if (pY) pY = (d < 1);
if (nY) {
m= 0; d= d-31; y++;
yd = yday(y,m,d);
} else if (pY) {
m=11; d= d+31; y--;
yd = yday(y,m,d);
}
thisThursday = yd;
t = new Date (y,0,1);
wd = t.getDay();
yd = yday(y,0,1);
if (wd > 4) wd = wd - 7;
yd = yd + 4 - wd;
week = (thisThursday - yd) / 7 + 1;
return y+"-"+week;
}
var now = new Date();
var ugeDag = new Array("søndag","mandag","tirsdag","onsdag",
"torsdag","fredag","lørdag");
var maaned = new Array("januar","februar","marts","april","maj","juni",
"juli","august","september","oktober","november","december");
var ordensTal = new Array("nulte","første","anden","tredje",
"fjerde","femte","sjette",
"syvende","ottende","niende",
"tiende","ellevte","tolvte",
"trettende","fjortende","femtende",
"sekstende","syttende","attende",
"nittende","tyvende","enogtyvende",
"toogtyvende","treogtyvende","fireogtyvende",
"femogtyvende","seksogtyvende","syvogtyvende",
"otteogtyvende","niogtyvende","tredivte",
"enogtredivte");
var talOrd = new Array("nul","et","to","tre",
"fire","fem","seks",
"syv","otte","ni",
"ti","elleve","tolv",
"tretten","fjorten","femten",
"seksten","sytten","atten",
"nitten","tyve");
document.write("Det er " + ugeDag[now.getDay()] + " den ");
document.write(ordensTal[now.getDate()]+" "+maaned[now.getMonth()]+" og ");
document.write("klokken er ");
document.write(tidspkt(now.getMinutes(),now.getHours())+ ".\n<br>\n");
document.write("Ugens nummer er ");
year = now.getYear();
if (year < 1000) year = year + 1900;
document.write(ugenummer(now.getDate(),now.getMonth(),year));
document.write(".\n");
document.write("Det er årets ");
document.write(yday(year,now.getMonth(),now.getDate()));
document.write(". dag.\n</p>\n");
Som sagt, så gjort. Første udgave af dette lille program blev skrevet i TurboPascal for længe siden, men her er to udgaver i henholdsvis Perl og PHP.
Klokken i perl
#!/usr/local/bin/perl -w
require "timelocal.pl";
@ordenstal = ("nulte","første","anden","tredje",
"fjerde","femte","sjette",
"syvende","ottende","niende",
"tiende","ellevte","tolvte",
"trettende","fjortende","femtende",
"sekstende","syttende","attende",
"nittende","tyvende","enogtyvende",
"toogtyvende","treogtyvende","fireogtyvende",
"femogtyvende","seksogtyvende","syvogtyvende",
"otteogtyvende","niogtyvende","tredivte",
"enogtredivte");
@talord = ( "nul","et","to","tre",
"fire","fem","seks",
"syv","otte","ni",
"ti","elleve","tolv",
"tretten","fjorten","femten",
"seksten","sytten","atten",
"nitten","tyve");
@ugedag = ( "søndag","mandag","tirsdag",
"onsdag","torsdag","fredag",
"lørdag");
@maaned = ( "januar","februar","marts","april","maj","juni",
"juli","august","september","oktober","november","december");
sub ugenr{
my($d,$m,$y) = @_;
my($t,$wday);
# d:1..31 m:0..11 y:offset 1900
#en dag har samme ugenr som torsdagen i samme uge
$t = timelocal(0,0,14,$d,$m,$y);
($wday,$yday) = (localtime($t))[6,7];
$wday = 7 if $wday == 0;
$d = $d + 4 - $wday;
$yday = $yday + 4 - $wday;
if ($m == 11 && $d > 31) {
$m= 0; $d= $d-31; $y++;
$t = timelocal(0,0,14,$d,$m,$y);
($yday) = (localtime($t))[7];
} elsif ($m == 0 && $d < 1) {
$m=11; $d= $d+31; $y--;
$t = timelocal(0,0,14,$d,$m,$y);
($yday) = (localtime($t))[7];
}
$thisweeksthursday = $yday;
$t = timelocal(0,0,14,1,0,$y);
($wday,$yday) = (localtime($t))[6,7];
$wday = $wday - 7 if $wday > 4;
$yday = $yday + 4 - $wday;
$week = ($thisweeksthursday - $yday) / 7 + 1;
$y = $y + 1900;
return "$y-$week";
}
sub tidspkt {
my($m,$h) = @_;
$h = $h % 12;
my($thish,$nexth) = ($h,$h+1);
$thish = 12 if $h % 12 == 0;
$nexth = 12 if $nexth % 12 == 0;
my($ma,$mb,$mc) = (30-$m,$m-30,60-$m);
return $talord[$thish] if $m == 0;
return "kvart over " . $talord[$thish] if $m == 15;
return "halv " . $talord[$nexth] if $m == 30;
return "kvart i " . $talord[$nexth] if $m == 45;
return $talord[$m] . " minut over " . $talord[$thish] if $m == 1;
return $talord[$m] . " minutter over " . $talord[$thish] if $m <= 20;
return $talord[$ma] . " minut i halv " . $talord[$nexth] if $ma == 1;
return $talord[$ma] . " minutter i halv " . $talord[$nexth] if $m <= 30;
return $talord[$mb] . " minut over halv " . $talord[$nexth] if $mb == 1;
return $talord[$mb] . " minutter over halv " . $talord[$nexth] if $m <= 40;
return $talord[$mc] . " minut i " . $talord[$nexth] if $mc == 1;
return $talord[$mc] . " minutter i " . $talord[$nexth] if $m <= 60;
}
($min,$hour,$mday,$mon,$year,$wday) =
(localtime(time))[1,2,3,4,5,6];
print "Det er " . "$ugedag[$wday]" . " den ";
print "$ordenstal[$mday] $maaned[$mon].\n";
print "Klokken er ". tidspkt($min,$hour). ".\n";
print "Ugens nummer er " . ugenr($mday,$mon,$year) . ".\n";
Klokken i php
<?php
$ordenstal = explode(",","nulte,første,anden,tredje,fjerde,".
"femte,sjette,syvende,ottende,niende,tiende,ellevte,tolvte,".
"trettende,fjortende,femtende,sekstende,syttende,attende,".
"nittende,tyvende,enogtyvende,toogtyvende,treogtyvende,".
"fireogtyvende,femogtyvende,seksogtyvende,syvogtyvende,".
"otteogtyvende,niogtyvende,tredivte,enogtredivte");
$talord = explode(",","nul,et,to,tre,fire,fem,seks,syv,otte,ni,ti,".
"elleve,tolv,tretten,fjorten,femten,seksten,sytten,atten,nitten,tyve");
$ugedag = explode(",","søndag,mandag,tirsdag,onsdag,torsdag,fredag,lørdag");
$maaned = explode(",","januar,februar,marts,april,maj,juni,juli,".
"august,september,oktober,november,december");
function tidspunkt ($m,$h) {
global $talord;
$h = $h % 12;
$thish = $h; $nexth = $h+1;
if ($h % 12 == 0) $thish = 12;
if ($nexth % 12 == 0) $nexth = 12;
$ma = 30-$m;
$mb = $m-30;
$mc = 60-$m;
if ($m == 0) return $talord[$thish];
if ($m == 15) return "kvart over " . $talord[$thish];
if ($m == 30) return "halv " . $talord[$nexth];
if ($m == 45) return "kvart i " . $talord[$nexth];
if ($m == 1) return "lidt over " . $talord[$thish];
if ($m <= 20) return $talord[$m] . " minutter over " . $talord[$thish];
if ($ma == 1) return "lidt i halv " . $talord[$nexth];
if ($m <= 30) return $talord[$ma] . " minutter i halv " . $talord[$nexth];
if ($mb == 1) return "lidt over halv " . $talord[$nexth];
if ($m <= 40) return $talord[$mb] . " minutter over halv " . $talord[$nexth];
if ($mc == 1) return "lidt i " . $talord[$nexth];
if ($m <= 60) return $talord[$mc] . " minutter i " . $talord[$nexth];
}
$dato = time();
$year = strftime("%Y", $dato);
$week = strftime("%V", $dato);
$mon = strftime("%m", $dato);
if ($mon == 1) {
if ($week > 50) $year--;
}
if ($mon == 12) {
if ($week < 10) $year++;
}
$mon--;
$wday = strftime("%u", $dato);
if ($wday == 7) $wday = 0;
$mday = strftime("%d", $dato);
echo "Det er $ugedag[$wday] den $ordenstal[$mday] $maaned[$mon].<br>\n";
$min = 0+strftime("%M", $dato);
$hour = 0+strftime("%H", $dato);
echo "Klokken er ".tidspunkt($min,$hour).".<br>\n";
echo "Ugens nummer er $year-$week.<br>\n";
echo "Dagen er årets dag nummer ".(0+strftime("%j", $dato)).".<br>\n";
?> |
| |
| Kommentar Fra : skingur |
Dato : 08-10-03 08:46 |
| | |
| Kommentar Fra : Ishoey |
Dato : 08-10-03 08:57 |
| | |
| Kommentar Fra : mango |
Dato : 08-10-03 09:09 |
|
Pyha da da , er du rigtig bims, den var dælme da sej her fra morgenstunden
Ja, jeg forstår ikke en dyt, bliver dælme osse så forskrækket når jeg ser sådan en masse bogstaver og tal på en gang
Hva eret for noget CLAN ? *LOL*
Sus
| |
| Kommentar Fra : hj3 |
Dato : 08-10-03 10:20 |
|
til Clan, Fedt lavet, Hvordan får jeg det til at virke på min Computer. Jeg ved ikke skid om Java.
Kan du ikke beskrive hvordan jeg skal gøre for at kunne klikke på icon på skrivebordet og din java bliver udført.
Mvh hj3
| |
| Kommentar Fra : tedd |
Dato : 08-10-03 10:21 |
| | |
| Du har følgende muligheder | |
|
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
| |
|
|