I denne lektion vil vi prøve at kigge på de mange forskellige muligheder der er for at arbejde med tid og datoer i ASP. Vi gennemgik to meget simple funktioner i den forrige lektion - mest for at vise dig hvad ASP er for noget. I denne lektion vil flere og lidt mere avancerede teknikker blive gennemgået.
VBScript indeholder tre meget grundliggende funktioner, som returnerer serverens tid og/eller dato:
Det følgend eksempel illustruerer funktionerne:
<html> <head> <title>tid og dato</title> </head> <body> <% Response.Write "<p>Funktionen Now returnerer: " & Now & " </p>" Response.Write "<p>Funktionen Date returnerer: " & Date & " </p>" Response.Write "<p>Funktionen Time returnerer: " & Time & " </p>" %> </body> </html>
Som du sikkert har lagt mærke til returnerer ovenstående funktioner dato og tid i nogle meget 'rå' formater. Der findes naturligvis mulighed for at formatere både dato og tid.
Den mulighed vi vil gennegå på nuværende tidspunkt knytter sig til funktionen
FormatDateTime. På et senere tidspunkt i tutorialen vil vi prøve at lave vores egen funktion, som kan returne lige nøjagtig det format vi ønsker. Men lad os først kigge på de indbyggede muligheder i VBScript.
FormatDateTime er en funktion nøjagtig lige som de funktioner ovenfor - men funktionen FormatDateTime skal kaldes med såkaldte argumenter. Det vil sige at man kalder funktionen på følgende form:
FormatDateTime(Dato[, Navngivet Format])
Det navngivne format kan antage følgende værdier:
Lad os kigge på et eksempel, som viser hvordan de forskellige dato- og tidsformater er opbygget. I eksemplet kalder vi funktionen med
Now - men vi kunne naturligvis også kalde den med en specifik dato og tidspunkt - f.eks. "14-02-2001 12:34:01".
<html> <head> <title>tid og dato</title> </head> <body> <dl> <dt>vbLongDate</dt> <dd><% Response.Write FormatDateTime(Now, vbLongDate) %></dd> <dt>vbShortDate</dt> <dd><% Response.Write FormatDateTime(Now, vbShortDate) %></dd> <dt>vbLongTime</dt> <dd><% Response.Write FormatDateTime(Now, vbLongTime) %></dd> <dt>vbShortTime</dt> <dd><% Response.Write FormatDateTime(Now, vbShortTime) %></dd> </dl> <p> <% Response.Write "Den " & FormatDateTime(Now, vbLongDate) Response.Write " kl. " & FormatDateTime(Now, vbShortTime) %> </p> </body> </html>
Der findes en række funktioner, som returnerer bestanddele af en dato eller et tidspunkt. De kaldes alle med en dato eller et tidspunkt som argument. Vi vil ikke her gå i dybden med dem alle - men blot vise én som eksempel - og derefter kort omtale de øvrige.
Som eksempel kigger vi på funtionen
Minute, som returnerer et tal svarende til minuttet i argumentet, som er et tidspunkt. Funktionen kaldes således på formen:
Minute(Tidspunkt)
Hvilket betyder at vi for at finde ud af hvilket minut vi er i lige nu kan skrive:
Minute(Time)
Funktionen returner tallet 6 - som netop er minuttet i tiden lige nu: 20:06:19.
Følgende funktioner relaterer sig på samme måde til datoer eller tidspunkter - som eksempel kaldes de med
Now: 02-09-2010 20:06:19
Måske synes det her er lige lovligt teoretisk - hvad i alverden skal du f.eks. bruge funktionen
Second til? Og hvornår kommer vi til noget du konkret kan bruge på dine sider?
Svaret er at det du lærer her er byggesten - kun din kreativitet og fantasi sætter grænserne for hvad du kan bygge! Jeg vil vove den påstand at du allerede nu har lært mere end du tror. Kan du f.eks. lave et website hvor der er forskellige baggrundsbilleder knyttet til hver dag i ugen - og det skal virke i alle browsere!
Ja, det kan du så let som ingen ting - prøv at se her:
<html>
<head>
<title>tid og dato</title>
</head>
<body background="baggrund_<% =Weekday(Now,VbMonday) %>.gif">
</body>
</html>
Eksemplet med det dynamiske baggrundsbillede kræver blot at du laver 7 billeder - og derefter f.eks. kalder dem for baggrund_1.gif, baggrund_2.gif, baggrund_3.gif, og så videre.
Hvis en bruger så kommer ind på din side på en tirsdag vil siden have baggrund_2.gif som baggrund - og næste dag baggrund_3.gif - smart og enkelt!.
I den næste lektion vil du blive introduceret for nye byggesten, som kan bruges til at lave løkker og gentagelser i dine koder.
ASP er sjovt - synes du ikke?