Nyeste it-job

Lektion 4: Arbejde med tid og datoer

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.

Funktioner i relation til tid og datoer

VBScript indeholder tre meget grundliggende funktioner, som returnerer serverens tid og/eller dato:

dokumentationNow
Returnerer den aktuelle dato og tid på serveren.
dokumentationDate
Returnerer den aktuelle dato på serveren.
dokumentationTime
Returnerer den aktuelle tid på serveren.

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>

Formatering tid og datoer

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 dokumentationFormatDateTime. 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
Returnerer et format af det angivene tidspunkt

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 dokumentationNow - 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>

Flere funktioner relateret til dato og tid

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 dokumentationMinute, 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 dokumentationNow: 02-09-2010 20:06:19

dokumentationYear
Returnerer den aktuelle år fra en dato. - med datoen i dag returneres: 2010
dokumentationMonth
Returnerer den aktuelle måned fra en dato - med datoen i dag returneres: 9
dokumentationDay
Returnerer den aktuelle dag i måneden fra en dato - med datoen i dag returneres: 2
dokumentationWeekday
Returnerer den aktuelle ugedag i ugen fra en dato - med datoen i dag returneres: 4
OBS: skal også kaldes med argumentet "første dag i ugen"
- eksempelvis Weekday(Now,VbMonday)
dokumentationHour
Returnerer den aktuelle time fra et tidspunkt - lige nu returneres: 20.
dokumentationMinute
Returnerer det aktuelle minut fra et tidspunkt - lige nu returneres: 6.
dokumentationSecond
Returnerer det aktuelle sekund fra et tidspunkt - lige nu returneres: 19.

Hvad kan du bruge det til?

Måske synes det her er lige lovligt teoretisk - hvad i alverden skal du f.eks. bruge funktionen dokumentationSecond 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?


Nyhedsbrev
Tilmeld dig HTML.dk's nyhedsbrev


Er du jobsøgende?

 Ja
 Nej
Se det foreløbige resultat når du har stemt!


Se tidligere afstemninger

 Community
Brugernavn

Adgangskode

Husk

 *  Bliv medlem her
 *  Glemt password?


Om HTML.dk | Oplysninger om ophavsret | Politik om persondata | Annoncer på HTML.dk | RSS

Valid XHTML 1.1! Valid CSS! Powered by Scannet