Személyes eszközök
Keresés

 

A InfoWiki wikiből

(Változatok közti eltérés)
(uploaded)
Aktuális változat (2009. június 26., 21:25) (lapforrás)
(uploaded)
 
1. sor: 1. sor:
-
<cim cim3="Tartalomjegyzék"  
+
<cim cim3="Date típus"
-
    cim2=""  
+
cim2=""  
-
  cim1="CGI és Űrlap feldolgozás"  
+
cim1="CGI és Űrlap feldolgozás"  
-
  kep="hz_csik.png"  
+
kep="hz_csik.png"  
-
  back="cgi-ea/Nyitolap"  
+
back="cgi-ea/Nyitolap"  
-
  szerzo="hz|Hernyák Zoltán"
+
prev="cgi-ea/page118"
-
  prev="EBooks"
+
next="cgi-ea/page122"
-
    next="cgi-ea/page001"  
+
szerzo="hz|Hernyák Zoltán"/>
-
/>
+
<path l1="cgi-ea/Nyitolap|Előadás"  l2="cgi-ea/Tematika|Vizsga"  l3="cgi-ea/Foliak|Fóliák"  lx="-"  
<path l1="cgi-ea/Nyitolap|Előadás"  l2="cgi-ea/Tematika|Vizsga"  l3="cgi-ea/Foliak|Fóliák"  lx="-"  

Aktuális változat


Tartalomjegyzék

Date típus

Gyakran van (lehet) szükség a JS kódban dátum és idő kezelése. Ezalatt nem egyszerűen dátum tárolását értjük - az megoldható lenne string formában is. Azonban ha el kell dönteni hogy egy dátum létező-e (nincs pl. február 30), a string alak már nem elég hatékony.

A dátum alak egyéb előnyöket is nyújt. Egy dátum alapján eldönthető, hogy az adott nap a hét melyik napja, a hónap hanyadik napja, stb. Kiszámítható az előző napi dátum, a következő heti dátum, stb.

Dátum készítése

A dátum típusú érték valójában dátumot és időt is leír, ezért talán találóbb lett volna a DateTime típusnév. Az aktuális dátumot (és időt) a new Date() módon kérhetjük le:

var d = new Date();

A new Date() forma a Date osztálybeli példányt készíti el, mint ahogy azt az OOP nyelveken megszokhattuk. Hasonlóan az OOP nyelvek esetén, a new a memóriafoglalást végzi, a Date az osztály neve, a Date() a konstruktor hívását jelöli.

Az elkészült példány a kliens oldali számítógép aktuális dátumát és idejét kéri le (mivel a JS kód a kliens számítógépen, a böngészőben fut). A dátum változóra (példány) metódusokat alkalmazhatunk. A lekérdező metódusok nevei get-el kezdődnek (a JS nyelv a Java-hoz hasonlóan nem ismeri a property fogalmát).

Dátummal kapcsolatos metódusok:

  • getYear() megadja az 1990 óta eltelt évek számát
  • getFullYear() megadja az évek számát
  • getMonth() a hónap sorszámát adja meg (0=január, 11=december)
  • getDate() megadja a hónapon belüli nap sorszámát (1..31)
  • getDay() a héten belüli nap sorszáma (0=vasárnap, 1=hétfő, ..., 6=szombat)
var d = new Date();
if (d.getMonth()==0) alert("január");


Idővel kapcsolatos metódusok:

  • getHours() az órák száma (0..23)
  • getMinutes() a percek száma (0..59)
  • getSeconds() a másodpercek száma (0..59)
  • getMilliseconds() az ezredmásodpercek száma (0..999)

Átalakítás egész számmá

Teljes dátum és idő átalakítása egész értékké:

  • getTime()

A getTime() függvény valójában az eltel ezredmásodpercek számát adja meg 1970 január 1 óta. Ez 2009-ben már egy hatalmas nagy számérték (39 év, évente 365*24*60*60*1000). Egy ilyen hosszú egész szám első pillantásban nem tűnik hasznosnak, de valójában nagyon is sok helyen használhatjuk fel:

  • két dátumot ez alapján nagyon könnyű összehasonlítani, melyik a kisebb vagy a nagyobb
  • könnyű kiszámítani a rákövetkező órai dátumot (hozzá kell adni 60*1000-t)

Dátum alakítása string-re

A dátumot különböző előre definiált formátumok szerint alakíthatjuk át szöveggé:

  • toLocaleString()
  • toDateString()
  • toTimeString()

Adott időpontú dátum létrehozása

A Date paraméteres konstruktorai segítségével nem csak az aktuális dátum és időhöz kapcsolódó példányt, hanem adott időponthoz tartozó példányt is létrehozhatunk:

var a = new Date(1994,11,23);
var b = new Date(2003,3,12,10,12,32);

Az a változóba a 1994.11.23 0:0:0 dátum kerül be, míg a b változóba a 2003.03.12 10:12:31 dátum lesz.

Dátum módosítása

A korábban megadott get metódusok párjai a set metódusok.

  • setFullYear(n) az év számát beállítja
  • setMonth(n) a hónap sorszámát állítja be
  • setDate(n) beállítja a hónapon belüli napsorszámot
  • setHours(n) az órák számát állítja be
  • setMinutes(n) a percek számát állítja be
  • setSeconds(n) a másodpercek számát állítja be
  • setMilliseconds(n) az ezredmásodpercek számát állítja be

Ezen felül használható a setTime(n), melynek segítésével egy egész szám alapján előállítja a hozzá tartozó dátumot és időt. Ezzel erős fegyverhez juthatunk:


var b = new Date(2003,3,12,10,12,32);
var c = new Date();
c.setTime(b.getTime()+1000);

A fenti példában a c dátum a b dátumhoz képest 1 másodperccel későbbi időpontot fogja tartalmazni.

A lap eredeti címe: „http://wiki.ektf.hu/wiki/Cgi-ea/page120
Nézetek
nincs sb_3.144.238.20 cikk