date

Linux.fista
Versio hetkellä 9. helmikuuta 2016 kello 07.32 – tehnyt Lahtis (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

date on komentoriviohjelma, joka näyttää tai asettaa päiväyksen.

Ajan näyttö

Ilman parametreja date kertoo nykyisen kellonajan:

$ date
ma 12.10.2009 15:15:50 +0300

Myös muun ajan voi muuntaa haluttuun muotoon. Tässä tiedoston aikaleima (-r) sähköpostissa käytetyssä muodossa (-R):

$ date -r aikaleima.tmp -R
Mon, 12 Oct 2009 15:49:07 +0300

Tietty ajankohta (-d) UTC-aikana (-u):

$ date -u -d now+1week
ma 19.10.2009 12:52:51 +0000

Nykyinen aika amerikkalaisittain (LC_DATE=en_US) toisen aikavyöhykkeen (TZ) mukaan, ympäristömuuttujien avulla; nimet löytyvät hakemistosta /usr/share/zoneinfo:

$ env LC_DATE=en_US TZ=America/New_York date
Mon Oct 12 08:52:59 EDT 2009

Tuloste voidaan muotoilla asettamalla loppuun muotoilumerkit. Komento date --help kertoo mahdolliset muotoiluparametrit:

date --help
--
 %%   %-merkki
 %a   maa-asetuksen lyhyt viikonpäivän nimi (ma-su)
 %A   maa-asetuksen pitkä viikonpäivän nimi, pituus vaihteleva (maanantai - sunnuntai)
 %b   maa-asetuksen lyhyt kuukauden nimi (tammi  - joulu )
 %B   maa-asetuksen pitkä kuukauden nimi, pituus vaihteleva (tammikuu - joulukuu)
 %c   maa-asetuksen päivämäärä ja aika (la  4 marraskuu 1989 12:02:33)
 %C   vuosisata (kokonaislukuosa sadalla jaetusta vuosiluvusta) [00-99]
 %d   kuukauden päivä (01-31)
 %D   päivämäärä (kk/pp/vv)
 %e   kuukauden päivä, välilyöntitäyttö ( 1-31)
 %F   sama kuin %Y-%m-%d
 %g   kaksinumeroinen vuosiluku, joka vastaa %V-viikkonumeroa
 %G   nelinumeroinen vuosiluku, joka vastaa %V-viikkonumeroa
 %h   sama kuin %b
 %H   tunti (00-23)
 %I   tunti (01-12)
 %j   vuoden päivä (001-366)
 %k   tunti ( 0-23)
 %l   tunti ( 1-12)
 %m   kuukausi (01-12)
 %M   minuutti (00-59)
 %n   rivinvaihto
 %N   nanosekunnit (000000000-999999999)
 %p   maa-asetuksen AM/PM merkintä isoilla kirjaimilla (usein tyhjä)
 %P   maa-asetuksen AM/PM merkintä pikkukirjaimilla (usein tyhjä)
 %r   aika, 12-tuntinen (tt:mm:ss [AP]M)
 %R   aika, 24-tuntinen (tt:mm)
 %s   sekuntimäärä ajanhetkestä "00:00:00 1970-01-01 UTC" (GNU-laajennos)
 %S   sekunti (00-60); arvoa 60 tarvitaan karkaussekuntia varten
 %t   vaakasarkain
 %T   aika, 24-tuntinen (tt:mm:ss)
 %u   viikonpäivä (1-7);  1 on maanantai
 %U   viikon numero, sunnuntai viikon ensimmäinen päivä (00-53)
 %V   ISO-standardin mukainen viikon numero, maanantai viikon ensimmäinen päivä (01-53)
 %w   viikonpäivä (0-6); 0 on sunnuntai
 %W   viikon numero, maanantai viikon ensimmäinen päivä (00-53)
 %x   maa-asetuksen päivämääräesitys (pp.kk.vvvv)
 %X   maa-asetuksen aikaesitys (%H:%M:%S)
 %y   vuosiluvun kaksi viimeistä numeroa (00..99)
 %Y   vuosiluku (1970-)
 %z   RFC-822-tyylinen numeerinen aikavyöhyke (-0500) (epästandardi laajennos)
 %Z   aikavyöhyke (esim. EET), tai tyhjä, jos aikavyöhykettä ei voida määrittää

Ennen ensimmäistä muotoilumerkkiä tulee kirjoittaa +-merkki. Esimerkiksi aika muodossa tunnit:minuutit 12-tunnin kellolla saataisiin komennolla

date +%I:%M

Ajan asettaminen

Aika voidaan asettaa syntaksilla date KKPPhhmmVVVV, missä KK on kuukausi, PP päivä, hh tunti, mm minuutti ja VVVV vuosi (jota ei ole pakko antaa). Esimerkiksi aika 10.4.2006 kello 16:45 annettaisiin komennolla

date 041016452006

Katso myös