PHP Date() & Time Function: Kuinka saada nykyinen aikaleima?

⚡ Älykäs yhteenveto

PHP:n date()-funktio muotoilee aikaleimat ihmisen luettaviksi päivämääriksi ja kellonajoiksi. Tämä ohje selittää päivämääräsyntaksin, Unix-aikaleiman, aikavyöhykkeiden listaamisen ja asettamisen, mktime-funktion aikaleimojen luomiseen sekä täydellisen viittauksen aika-, päivä-, kuukausi- ja vuosimuotoilumerkkeihin.

  • 📅 Mitä date() tekee: Date-funktio muuntaa aikaleiman muotoilluksi merkkijonoksi käyttämällä merkkejä, kuten Y, m ja d, jotka ilmaisevat vuoden, kuukauden ja päivän.
  • ⏱️ Unix-aikaleima: Aikaleima on 1. tammikuuta 1970 GMT:n jälkeen kuluneiden sekuntien määrä, ja time() palauttaa nykyisen arvon.
  • 🌍 Aikavyöhykkeet: date_default_timezone_set vaihtaa aktiivisen aikavyöhykkeen, ja DateTimeZone::listIdentifiers listaa kaikki tuetut aikavyöhykkeet.
  • 🔧 mktime: mktime-funktio muodostaa aikaleiman tietystä tunnista, minuutista, sekunnista, kuukaudesta, päivästä ja vuodesta.
  • 🔤 Muotoile merkit: Yksittäiset kirjaimet ohjaavat tulostusta, esimerkiksi H tarkoittaa 24-tuntista aikaa, l viikonpäivän nimeä ja F kuukauden nimeä.
  • 📐 Viitetaulukot: Ryhmitellyissä taulukoissa luetellaan kellonajan, päivän, kuukauden ja vuoden muotoilumerkit sekä kustakin suoritettava esimerkki.
  • 🤖 AI Assist: Tekoälytyökalut voivat luoda päivämäärämuotoilua ja eroavaisuuksia koskevaa koodia ja auttaa ratkaisemaan hämmentäviä aikavyöhykeongelmia.

PHP -päivämäärä () Toiminto

PHP -päivämäärä () Toiminto

PHP:n date-funktio on sisäänrakennettu funktio, joka yksinkertaistaa päivämäärätietotyyppien käsittelyä. PHP:n date-funktiota käytetään päivämäärän tai kellonajan muotoilemiseen ihmisen luettavaan muotoon. Sitä voidaan käyttää artikkelin julkaisupäivämäärän näyttämiseen tai tietokannan tietojen viimeisimmän päivityksen tallentamiseen.

PHP päivämäärän syntaksi ja esimerkki

PHP:n date()-funktiolla on seuraava perussyntaksi.

<?php
date(format,[timestamp]);
?>

TÄSSÄ,

  • ”date(…)” on funktio, joka palauttaa nykyisen aikaleiman muotoiltuna PHP palvelimella.
  • ”muoto” on yleinen muoto, jossa haluamme tulosteemme olevan, esimerkiksi:
    • ”Ymd” PHP-päivämäärämuodossa VVVV-KK-PP
    • "Y" näyttää kuluvan vuoden
  • ”[aikaleima]” on valinnainen. Jos aikaleimaa ei ole annettu, PHP käyttää palvelimen nykyistä päivämäärää ja aikaa.

Katsotaanpa yksinkertaista esimerkkiä, joka näyttää kuluvan vuoden.

<?php

echo date("Y");

?>

lähtö:

2026

Mikä on aikaleima?

PHP:ssä aikaleima on numeerinen arvo sekunteina nykyisen kellonajan ja 1:n arvon välillä.st Tammikuu 1970 klo 00.00.00 Greenwichin aikaa (GMT).

Aikafunktion palauttama arvo riippuu oletusaikavyöhykkeestä.

Oletusaikavyöhyke asetetaan php.ini-tiedostossa. Se voidaan asettaa myös ohjelmallisesti käyttämällä date_default_timezone_set-funktiota.

Alla oleva koodi näyttää nykyisen aikaleiman.

<?php

echo time();

?>

Olettaen, että tallensit tiedoston timestamp.php phptuts-kansioon, selaa kohtaan URL http://localhost/phptuts/timestamp.php

TimeStamp

Huomautus: aikaleiman arvo ei ole vakio. Se muuttuu joka sekunti.

Saatavilla olevien aikavyöhykkeiden tunnisteiden luettelon hakeminen

Ennen kuin tarkastelemme oletusaikavyöhykkeen ohjelmallista asettamista, katsotaanpa, miten saamme luettelon tuetuista aikavyöhykkeistä.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

TÄSSÄ,

  • Funktio ”$timezone_identifiers = DateTimeZone::listIdentifiers();” kutsuu sisäänrakennetun DateTimeZone-luokan staattista listIdentifiers-metodia. listIdentifiers-metodi palauttaa luettelon tunnisteista, jotka on liitetty muuttujaan $timezone_identifiers.
  • ”foreach{…}” käy läpi taulukon ja tulostaa arvot.

Olettaen, että tallensit tiedoston list_time_zones.php phptuts-kansioon, selaa kohtaan URL http://localhost/phptuts/list_time_zones.php

Aikavyöhykkeen tunnisteet

PHP asettaa aikavyöhykkeen ohjelmallisesti

Date_default_timezone_set-funktion avulla voit asettaa oletusaikavyöhykkeen PHP-komentosarjasta.

Asetettua aikavyöhykettä käytetään sitten kaikissa päivämäärän PHP-funktiot skripteissäsi. Sen syntaksi on seuraava.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

TÄSSÄ,

  • "date_default_timezone_set()" on funktio, joka asettaa oletusaikavyöhykkeen
  • "merkkijono $timezone_identifier" on aikavyöhykkeen tunniste

Alla oleva skripti näyttää ajan php.ini-tiedostossa asetetun oletusaikavyöhykkeen mukaisesti. Sitten se vaihtaa oletusaikavyöhykkeeksi Aasian/Kalkuttan ja näyttää ajan uudelleen.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Olettaen, että olet tallentanut tiedoston set_time_zone.php phptuts-kansioon, selaa kohtaan URL http://localhost/phptuts/set_time_zone.php

PHP asettaa aikavyöhykkeen ohjelmallisesti

PHP Mktime -toiminto

mktime-funktio palauttaa aikaleiman kohdassa a unix -muodossa.

Sillä on seuraava syntaksi.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

TÄSSÄ,

  • "mktime(…)" on PHP:n aikaleimatoiminto
  • ”tunti” on valinnainen; se on tunnin numero
  • ”Minuutti” on valinnainen; se on minuuttien lukumäärä
  • ”sekunti” on valinnainen; se on sekuntien määrä
  • ”kuukausi” on valinnainen; se on kuukauden numero
  • ”päivä” on valinnainen; se on päivän numero
  • ”vuosi” on valinnainen; se on vuoden numero
  • ”is_dst” on valinnainen; sitä käytetään kesäajan (DST) määrittämiseen. 1 on kesäaika, 0 jos se ei ole kesäaika ja -1 jos se on tuntematon.

Katsotaanpa nyt esimerkkiä, joka luo aikaleiman päivämäärälle 13.10.2025 käyttämällä mktime-funktiota.

<?php

echo mktime(0,0,0,10,13,2025);

?>

TÄSSÄ,

  • ”0,0,0” on tunnit, minuutit ja sekunnit vastaavasti.
  • "10" on vuoden kuukausi
  • "13" on kuukauden päivä
  • "2025" on vuosi

lähtö:

1760328000

PHP-päivämäärämuodon viite

Alla olevat taulukot näyttävät yleisimmät muotoilumerkit, joita käytetään työskenneltäessä PHP:n päivämääräfunktioiden kanssa.

Aikaparametrit

Parametri Tuotetiedot esimerkki
"R" Palauttaa koko päivämäärän ja kellonajan
<?php
echo date("r");
?>
"a", "A" Palauttaa, onko kellonaika am tai pm, AM tai PM
<?php
echo date("a");
echo date("A");
?>
"g", "G" Palauttaa tunnin ilman etunollia [1-12], [0-23]
<?php
echo date("g");
echo date("G");
?>
”h”, ”H” Palauttaa tunnin etunollilla [01–12] ja [00–23]
<?php
echo date("h");
echo date("H");
?>
"i", "s" Palauttaa minuutit/sekunnit etunollalla [00 - 59]
<?php
echo date("i");
echo date("s");
?>

Päivän parametrit

Parametri Tuotetiedot esimerkki
"D" Palauttaa kuukauden päivän etunollalla [01-31]
<?php
echo date("d");
?>
"j" Palauttaa kuukauden päivän ilman etunollia [1-31]
<?php
echo date("j");
?>
”D” Palauttaa päivän nimen kolme ensimmäistä kirjainta [su - la]
<?php
echo date("D");
?>
"L" Palauttaa viikonpäivän nimen [sunnuntaista lauantaihin]
<?php
echo date("l");
?>
"Sisään" Palauttaa viikonpäivän ilman etunollia [0–6]; sunnuntaita edustaa nolla (0) ja lauantaita edustaa kuusi (6).
<?php
echo date("w");
?>
"z" Palauttaa vuoden päivän ilman välilyöntejä [0 - 365]
<?php
echo date("z");
?>

Kuukauden parametrit

Parametri Tuotetiedot esimerkki
"M" Palauttaa kuukauden numeron etunollalla [01-12]
<?php
echo date("m");
?>
"N" Palauttaa kuukauden numeron ilman etunollia [1-12]
<?php
echo date("n");
?>
”M” Palauttaa kuukauden nimen 3 ensimmäistä kirjainta [tam-joulukuu]
<?php
echo date("M");
?>
"F" Palauttaa kuukauden nimen [tammikuusta joulukuuhun]
<?php
echo date("F");
?>
"T" Palauttaa päivien määrän kuukaudessa [28 - 31]
<?php
echo date("t");
?>

Vuosi parametrit

Parametri Tuotetiedot esimerkki
"L" Palauttaa arvon 1, jos on karkausvuosi, ja arvon 0, jos ei ole karkausvuosi
<?php
echo date("L");
?>
"Y" Palauttaa nelinumeroisen vuosimuodon
<?php
echo date("Y");
?>
"Y" Palauttaa kaksinumeroisen vuosiluvun muodossa (00–99)
<?php
echo date("y");
?>

UKK

date() on yksinkertainen proseduraalinen funktio, joka muotoilee aikaleiman. DateTime-luokka on oliopohjainen ja tukee aritmetiikkaa, vertailua, aikavyöhykkeitä ja muuttumattomuuden periaatetta, mikä tekee siitä paremman monimutkaiselle päivämäärälogiikalle suuremmissa sovelluksissa.

Käytä strtotime()-funktiota, joka lukee muotoja kuten '2025-10-13' tai 'seuraava' Monday' ja palauttaa Unix-aikaleiman. Tunnetun muodon tarkkaan jäsentämiseen DateTime::createFromFormat on turvallisempi, koska se epäonnistuu selvästi virheellisen syötteen sattuessa.

Luo kaksi DateTime-objektia ja kutsu diff(), joka palauttaa DateInterval-arvon. Voit sitten lukea päiviä, kuukausia tai vuosia, esimerkiksi $start->diff($end)->days saadaksesi päivämäärien välisten päivien kokonaismäärän.

Kyllä. Kuvaile syöte- ja tulostemuoto, niin tekoäly voi tuottaa date()-, DateTime- tai strtotime-koodia, mukaan lukien aikavälien lisääminen tai aikavyöhykkeiden muuntaminen. Testaa sitä reunatapauksissa, kuten karkausvuosina ja kuukauden päättymisinä.

Kyllä. Tekoäly voi havaita puuttuvan date_default_timezone_set-kutsussa esiintyvän eron palvelimen ja näytön aikavyöhykkeiden välillä tai kesäaikaongelmia ja suositella sitten DateTime-ominaisuuden käyttöä eksplisiittisten aikavyöhykkeiden kanssa, jotta toiminta olisi ennustettavaa.

Tiivistä tämä viesti seuraavasti: