PHP kuupƤeva () ja kellaaja funktsioon: kuidas saada praegust ajatemplit?

⚔ Nutikas kokkuvõte

PHP funktsioon date() vormindab ajatemplid inimloetavaks kuupäevaks ja kellaajaks. See samm selgitab kuupäeva süntaksit, Unixi ajatemplit, ajavööndite loetlemist ja määramist, ajatemplite loomise funktsiooni mktime ning annab täieliku ülevaate kellaaja, päeva, kuu ja aasta vormingute märkidest.

  • šŸ“… Mida teeb date() funktsioon? KuupƤevafunktsioon muudab ajatempli vormindatud stringiks, kasutades mƤrke nagu A, K ja P aasta, kuu ja pƤeva tƤhistamiseks.
  • ļø Unixi ajatempel: Ajatempel on sekundite arv alates 1. jaanuarist 1970 GMT ja time() tagastab praeguse vƤƤrtuse.
  • šŸŒ Ajatsoonid: date_default_timezone_set muudab aktiivset ajavƶƶndit ja DateTimeZone::listIdentifiers loetleb kƵik toetatud tsoonid.
  • šŸ”§ mktime: Funktsioon mktime loob ajatempli kindlast tunnist, minutist, sekundist, kuust, pƤevast ja aastast.
  • šŸ”¤ Vorminda tƤhemƤrke: Üksikud tƤhed kontrollivad vƤljundit, nƤiteks H tƤhistab 24-tunnist aega, l nƤdalapƤeva nime ja F kuu nime.
  • šŸ“ Viitetabelid: Rühmitatud tabelites on loetletud kellaaja, pƤeva, kuu ja aasta vormingu mƤrgid koos igaühe kohta kƤivitatava nƤitega.
  • šŸ¤– Tehisintellekti abi: Tehisintellekti tƶƶriistad suudavad genereerida kuupƤevavormingu ja erinevuste koodi ning aidata lahendada segadust tekitavaid ajavƶƶndite vigu.

PHP date() Funktsioon

PHP date() Funktsioon

PHP kuupäevafunktsioon on sisseehitatud funktsioon, mis lihtsustab kuupäeva andmetüüpidega töötamist. PHP kuupäevafunktsiooni kasutatakse kuupäeva või kellaaja vormindamiseks inimloetavasse vormingusse. Seda saab kasutada artikli avaldamise kuupäeva kuvamiseks või andmebaasi andmete viimase värskendamise kuupäeva salvestamiseks.

PHP kuupäeva süntaks ja näide

PHP date() funktsioonil on järgmine põhisüntaks.

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

SIIN,

  • ā€žkuupƤev(…)ā€ on funktsioon, mis tagastab praeguse ajatempli vormindatud kujul PHP serveris.
  • ā€žFormaatā€ on üldine vorming, mida me tahame oma vƤljundit nƤha, nƤiteks:
    • ā€žYmdā€ PHP kuupƤevavormingu AAAA-KK-PP jaoks
    • "Y" jooksva aasta kuvamiseks
  • ā€ž[timestamp]ā€ on valikuline. Kui ajatemplit pole sisestatud, kasutab PHP serveri praegust kuupƤeva ja kellaaega.

Vaatame lihtsat nƤidet, mis kuvab kƤesolevat aastat.

<?php

echo date("Y");

?>

VƤljund:

2026

Mis on ajatempel?

PHP ajatempel on numbriline vƤƤrtus sekundites praeguse kellaaja ja 1. kellaaja vahel.st Jaanuar 1970 00:00:00 Greenwichi aja (GMT) jƤrgi.

Ajafunktsiooni tagastatav vƤƤrtus sƵltub vaikeajavƶƶndist.

Vaikimisi ajavƶƶnd on mƤƤratud failis php.ini. Selle saab mƤƤrata ka programmiliselt funktsiooni date_default_timezone_set abil.

Allolev kood kuvab praegust ajatempli.

<?php

echo time();

?>

Eeldades, et salvestasite faili timestamp.php kausta phptuts, sirvige kausta URL http://localhost/phptuts/timestamp.php

TimeStamp

MƤrkus: ajatempli vƤƤrtus ei ole konstant. See muutub iga sekund.

Saadaolevate ajavƶƶndi identifikaatorite loendi hankimine

Enne kui vaatame, kuidas programmiliselt vaikimisi ajavƶƶndit mƤƤrata, vaatame, kuidas saada toetatud ajavƶƶndite loendit.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

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

echo $list . "<br/>";

}
?>

SIIN,

  • ā€ž$timezone_identifiers = DateTimeZone::listIdentifiers();ā€ kutsub sisseehitatud DateTimeZone klassi staatilise meetodi listIdentifiers. Meetod listIdentifiers tagastab muutujale $timezone_identifiers mƤƤratud identifikaatorite loendi.
  • ā€žforeach{…}ā€œ itereerib lƤbi massiivi ja prindib vƤƤrtused.

Eeldades, et salvestasid faili list_time_zones.php phptuts kausta, sirvi sealt URL http://localhost/phptuts/list_time_zones.php

Ajavƶƶndi identifikaatorid

PHP mƤƤras ajavƶƶndi programmiliselt

Funktsioon date_default_timezone_set vƵimaldab mƤƤrata PHP-skriptist vaikeajavƶƶndi.

Seejärel kasutatakse kõigi kuupäevade puhul määratud ajavööndit. PHP funktsioonid teie skriptides. Sellel on järgmine süntaks.

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

SIIN,

  • "date_default_timezone_set()" on funktsioon, mis mƤƤrab vaikeajavƶƶndi
  • "string $timezone_identifier" on ajavƶƶndi identifikaator

Allolev skript kuvab aega vastavalt php.ini-s vaikimisi mƤƤratud ajavƶƶndile. SeejƤrel muudab see vaikimisi ajavƶƶndiks Aasia/Kalkutta ja kuvab kellaaega uuesti.

<?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");
?>

Eeldades, et olete salvestanud faili set_time_zone.php kausta phptuts, sirvige kausta URL http://localhost/phptuts/set_time_zone.php

PHP mƤƤras ajavƶƶndi programmiliselt

PHP Mktime funktsioon

Funktsioon mktime tagastab ajatempli a-s Unix formaadis.

Sellel on järgmine süntaks.

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

SIIN,

  • "mktime(…)" on PHP ajatempli funktsioon
  • ā€žtundā€ on valikuline; see on tunni number
  • ā€žMinutiā€œ on valikuline; see on minutite arv
  • ā€žsekundā€ on valikuline; see on sekundite arv
  • ā€žkuuā€ on valikuline; see on kuu number
  • ā€žpƤevā€ on valikuline; see on pƤeva number
  • ā€žaastaā€ on valikuline; see on aasta number
  • ā€žis_dstā€ on valikuline; seda kasutatakse suveaja (DST) mƤƤramiseks. 1 tƤhistab suveaega, 0 kui see pole nii ja -1 kui see on teadmata.

Vaatame nüüd näidet, mis loob funktsiooni mktime abil ajatempli kuupäevale 13.10.2025.

<?php

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

?>

SIIN,

  • ā€ž0,0,0ā€ on vastavalt tund, minut ja sekund.
  • ā€œ10ā€ on aasta kuu
  • ā€œ13ā€ on kuu pƤev
  • ā€œ2025ā€ on aasta

VƤljund:

1760328000

PHP kuupƤevavormingu viide

Allolevad tabelid nƤitavad PHP kuupƤevafunktsioonidega tƶƶtamisel kasutatavaid levinumaid vormingumƤrke.

Ajaparameetrid

Parameeter Kirjeldus NƤide
"R" Tagastab tƤieliku kuupƤeva ja kellaaja
<?php
echo date("r");
?>
ā€žaā€œ, ā€žAā€œ Tagastab, kas praegune kellaaeg on vastavalt am vƵi pm, AM vƵi PM
<?php
echo date("a");
echo date("A");
?>
ā€žgā€œ, ā€žGā€œ Tagastab tunni ilma eesolevate nullideta [1 kuni 12], [0 kuni 23]
<?php
echo date("g");
echo date("G");
?>
ā€žhā€œ, ā€žHā€œ Tagastab tunnid koos algusnullidega [01 kuni 12] ja [00 kuni 23]
<?php
echo date("h");
echo date("H");
?>
ā€žiā€œ, ā€žsā€œ Tagastab minutid/sekundid eesolevate nullidega [00 kuni 59]
<?php
echo date("i");
echo date("s");
?>

PƤeva parameetrid

Parameeter Kirjeldus NƤide
"D" Tagastab kuu pƤeva algusnullidega [01 kuni 31]
<?php
echo date("d");
?>
"j" Tagastab kuu pƤeva ilma eesolevate nullideta [1 kuni 31]
<?php
echo date("j");
?>
"D" Tagastab päeva nime kolm esimest tähte [Pühapäevast Laupäevani]
<?php
echo date("D");
?>
"L" Tagastab nädalapäeva nime [pühapäevast laupäevani]
<?php
echo date("l");
?>
"w" Tagastab nädalapäeva ilma algusnullideta [0 kuni 6]; pühapäeva tähistab null (0) ja laupäeva kuus (6).
<?php
echo date("w");
?>
"z" Tagastab aastapäeva ilma tühikuteta [0 kuni 365]
<?php
echo date("z");
?>

Kuu parameetrid

Parameeter Kirjeldus NƤide
"M" Tagastab kuu numbri alguses olevate nullidega [01 kuni 12]
<?php
echo date("m");
?>
"N" Tagastab kuu numbri ilma eesolevate nullideta [1 kuni 12]
<?php
echo date("n");
?>
"M" Tagastab kuu nime kolm esimest tƤhte [jaanuar kuni detsember]
<?php
echo date("M");
?>
"F" Tagastab kuu nime [jaanuarist detsembrini]
<?php
echo date("F");
?>
ā€œTā€ Tagastab pƤevade arvu kuus [28 kuni 31]
<?php
echo date("t");
?>

Aasta parameetrid

Parameeter Kirjeldus NƤide
"L" Tagastab 1, kui on liigaasta, ja 0, kui see ei ole liigaasta
<?php
echo date("L");
?>
"Y" Tagastab neljakohalise aasta vormingu.
<?php
echo date("Y");
?>
"Y" Tagastab kahekohalise aasta vormingu (00 kuni 99).
<?php
echo date("y");
?>

KKK

date() on lihtne protseduuriline funktsioon, mis vormindab ajatempli. DateTime klass on objektorienteeritud ja toetab aritmeetikat, vƵrdlemist, ajavƶƶndeid ja muutmatust, mistƵttu on see parem keeruka kuupƤevaloogika jaoks suuremates rakendustes.

Kasuta strtotime(), mis loeb formaate nagu '2025-10-13' vƵi 'jƤrgmine'. Monday' ja tagastab Unixi ajatempli. Teadaoleva vormingu rangeks parsimiseks on DateTime::createFromFormat turvalisem, kuna see ebaƵnnestub vigase sisendi korral.

Loo kaks DateTime objekti ja kutsu vƤlja diff(), mis tagastab DateInterval'i. SeejƤrel saad lugeda pƤevi, kuid vƵi aastaid, nƤiteks $start->diff($end)->days, et saada kuupƤevade vaheline pƤevade koguarv.

Jah. Kirjeldage sisend- ja vƤljundvormingut ning tehisintellekt suudab luua date(), DateTime vƵi strtotime koodi, sh lisada intervalle vƵi teisendada ajavƶƶndeid. Testige seda ƤƤrejuhtudega, nƤiteks liigaasta ja kuu lƵpuga.

Jah. Tehisintellekt suudab tuvastada puuduva date_default_timezone_set pƤringu, serveri ja kuvatava ajavƶƶndi mittevastavuse vƵi suveaja probleemid ning seejƤrel soovitada DateTime'i kasutamist koos selgete ajavƶƶnditega, et kƤitumine oleks etteaimatav.

VƵta see postitus kokku jƤrgmiselt: