PHP päivämäärät ja ajat

PHP date()-funktio käytetään päivämäärän tai ajan muotoiluun.

PHP Date()-funktio

PHP Date()-funktio muuntaa aikaleiman helposti luettavaksi päivämääräksi ja ajaksi.

syntaksi

date(format,timestamp)
parametrit kuvaus
format Pakollinen. Määritä aikaleiman muoto.
timestamp Valinnainen. Määritä aikaleima. Oletus on nykyinen päivämäärä ja aika.

Huomautus:Aikaleima on merkkijono, joka edustaa tietyn tapahtuman päivämäärää ja aikaa.

Hanki yksinkertainen päivämäärä

date()-funktiossa format-argummentti on pakollinen, ne määrittelevät kuinka päivämäärä tai aika muotoillaan.

Alla luetellaan joitakin yleisesti käytettyjä päivämäärämerkkejä:

  • d - kuukauden päivä (01-31)
  • m - kuukausi (01-12)
  • Y - vuosi (neljä numeroa)
  • 1 - viikon päivä

Muut merkit, kuten "/", "." tai "-" voidaan lisätä merkkijonoon lisätäkseen muotoja.

Alla olevassa esimerkissä käytetään kolmea eri tapaa muotoilla tänään päivämäärä:

Esimerkki

<?php
echo "Tänään on " . date("Y/m/d") . "<br>";
echo "Tänään on " . date("Y.m.d") . "<br>";
echo "Tänään on " . date("Y-m-d") . "<br>";
echo "Tänään on " . date("l");
?>

Suoritettavat esimerkit

PHP-vinkki - automaattinen tekijäntunnusvuosi

Käytä date()-funktiota päivittääksesi automaattisesti verkkosivustosi versiovuoden:

Esimerkki

© 2010-<?php echo date("Y")?>

Suoritettavat esimerkit

Hanki yksinkertainen aika

Alla on usein käytettyjä ajan merkkejä:

  • h - ensimmäinen nolla sisältävä 12-tunnin tuntimallissa oleva tunti
  • i - ensimmäinen nolla sisältävä minuutti
  • s - ensimmäinen nolla sisältävä sekunti (00-59)
  • a - pieni kirjain aamu ja iltapäivä (am tai pm)

Alla oleva esimerkki tulostaa nykyajan määritetyllä muodolla:

Esimerkki

<?php
echo "Nykyinen aika on " . date("h:i:sa");
?>

Suoritettavat esimerkit

Huomautus:Huomaa, että PHP:n date()-funktio palauttaa palvelimen nykyisen päivämäärän ja时间的!

Hanki aikavyöhyke

Jos koodista palautettu aika ei ole oikea, se voi johtua siitä, että palvelin sijaitsee toisessa maassa tai on asetettu eri aikavyöhykkeeseen.

Siksi, jos tarvitset tarkan sijainnin mukaisen ajan, voit asettaa käytettävän aikavyöhykkeen.

Alla oleva esimerkki asettaa aikavyöhykkeen "Asia/Shanghai" ja tulostaa nykyajan määritetyllä muodolla:

Esimerkki

<?php
date_default_timezone_set("Asia/Shanghai");
echo "Nykyinen aika on " . date("h:i:sa");
?>

Suoritettavat esimerkit

PHP:n mktime()-funktio luo päivämäärän

date()-funktiossa valinnainen aikaleima-argumetti määrittää aikaleiman. Jos et määritä aikaleimaa, käytetään nykyhetken päivämäärää ja aikaa (kuten yllä olevassa esimerkissä).

mktime()-funktio palauttaa päivämäärän Unix-aikaleiman. Unix-aikaleima sisältää Unix-epoahan (1. tammikuuta 1970 00:00:00 GMT) ja määritetyn ajan välisen sekuntien määrän.

syntaksi

mktime(tunti,minuutti,sekunti,kuukausi,päivä,vuosi)

Alla oleva esimerkki luo päivämäärän ja ajan käyttämällä mktime()-funktioita yhdistelmänä:

Esimerkki

<?php
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "Luo päivämäärä on " . date("Y-m-d h:i:sa", $d);
?>

Suoritettavat esimerkit

PHP:n strtotime() käyttää merkkijonoa luodakseen päivämäärän

PHP:n strtotime()-funktio muuntaa ihmisen luettavan merkkijonon Unix-aikaleimaksi.

syntaksi

strtotime(time,now)

Alla oleva esimerkki luo päivämäärän ja ajan käyttämällä strtotime()-funktioita:

Esimerkki

<?php
$d=strtotime("10:38pm April 15 2015");
echo "Luo päivämäärä on " . date("Y-m-d h:i:sa", $d);
?>

Suoritettavat esimerkit

PHP on erittäin älykäs muuntaessaan merkkijonon päivämääräksi, joten voit käyttää monenlaisia arvoja:

Esimerkki

<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>

Suoritettavat esimerkit

Kuitenkin, strtotime() ei ole täydellinen, joten muista tarkistaa siihen syötetty merkkijono.

Lisää päivämääräesimerkkejä

Seuraavassa esimerkissä näytetään seuraavan lauantain päivämäärä:

Esimerkki

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks",$startdate);
while ($startdate < $enddate) {
  echo date("M d", $startdate),"<br>";
  $startdate = strtotime("+1 week", $startdate);
}
?>

Suoritettavat esimerkit

Seuraavassa esimerkissä näytetään kuinka monta päivää on ennen heinäkuun 4. päivää:

Esimerkki

<?php
$d1=strtotime("December 31");
$d2=ceil(($d1-time())/60/60/24);
echo "Jäljellä on: " . $d2 ." päivää ennen joulukuun 31. päivää.";
?>

Suoritettavat esimerkit

Täydellinen PHP Date Viittausopas

Jos haluat saada kaikki päivämääräfunktiot täydellisen viittausoppaan, vieraile PHP Date Viittausopas.

Tämä oppikirja sisältää jokaisen funktion lyhyen kuvauksen ja käyttöesimerkin.