date-funktio

Funktio date tulostaa päivämäärän määritetyssä muodossa. Ensimmäisenä parametrina funktio ottaa vastaan muodon, ja toisena valinnaisena parametrina - aikaleiman timestamp-muodossa. Jos toista parametria ei ole määritetty - otetaan nykyinen aikaleima, jos määritetty - niin määritetty.

Muoto määritetään hallintakomennoilla (englanninkielisillä kirjaimilla), ja niiden väliin voidaan lisätä mitä tahansa erottimia (viivoja, kaksoispisteitä ja niin edelleen).

Funktio hyväksyy seuraavat komennot (isot kirjaimet eroavat tavallisista, kiinnitä huomiota):

Syntaksi

phpdate(string $format, ?int $timestamp = null): string

Esimerkkejä date-funktion käytöstä

php<?php
  // Kaikki esimerkit näytetään päivämäärälle 01.06.2013 kello 12.23.59, maanantai
  
  echo date('Y'); // tulostaa '2013'
  echo date('y'); // tulostaa '13'
  echo date('m'); // tulostaa '06' - kuukauden numero
  echo date('d'); // tulostaa '01' - päivän numero kuukaudessa
  echo date('j'); // tulostaa '1'  - päivän numero kuukaudessa (ilman etunollaa)
  echo date('w'); // tulostaa '1'  - maanantai
  echo date('H'); // tulostaa '12' - tunnit
  echo date('i'); // tulostaa '23' - minuutit
  echo date('s'); // tulostaa '59' - sekunnit
  
  echo date('d-m-Y'); // tulostaa '01-06-2013'
  echo date('d.m.Y'); // tulostaa '01.06.2013'
  echo date('H:i:s d.m.Y'); // tulostaa '12:23:59 01.06.2013'
?>

date-funktion toinen parametri

Funktiolla date on toinen valinnainen parametri, joka ottaa vastaan aikaleiman timestamp-muodossa. Jos tämä parametri välitetään, funktio date muotoilee ei nykyisen aikaleiman, vaan sen, joka on välitetty toisena parametrina. Tämän timestampin voi saada, esimerkiksi funktiolla mktime (mutta ei välttämättä):

php<?php
  echo date('d-m-Y', mktime(0, 0, 0, 12, 29, 13)); // tulostaa '29-12-2013'
?>

Tätä voidaan hyödyntää selvittämään viikonpäivän numero tietylle päivämäärälle - yksinkertaisesti välitetään se toisena parametrina funktion mktime avulla, ja ensimmäisenä parametrina asetetaan hallintamerkki 'w':

php<?php
  // Selvitetään mikä viikonpäivä oli 29-12-2013:
  echo date('w', mktime(0, 0, 0, 12, 29, 13)); // tulostaa '0' - sunnuntai
?>

Katso myös

  • funktion mktime,
    joka palauttaa aikaleiman timestamp-muodossa