Låt oss titta på hur man arbetar med datum och tider i PHP.
Tid inUnix-datorer
För Unix-datorer börjar tiden vid midnatt den 1 januari 1970. Alla datum beräknas som antalet sekunder (betecknas med en tidsstämpel) som har gått sedan 1 januari 1970. Dessa konventioner används också i PHP. Vi vill till exempel gå en dag framåt. Sedan behöver du bara lägga till en tidsstämpel på 60×60×24 sekunder till det aktuella värdet.
Detta tidsspårningsschema förenklar avsevärt operationer med datum. Till exempel, om ett tidsstämpelvärde är större än ett annat, motsvarar det första värdet ett senare datum än det andra.
Tidsenheter per sekund
Hämtar aktuell tid
I PHP, för att få det aktuella tidsstämpelvärdet, måste du anropa time()-funktionen utan parametrar, till exempel:
Många PHP-datum- och tidsfunktioner tar ett tidsstämpelvärde som argument. Till exempel returnerar funktionen date() en datumsträng formaterad enligt det angivna formatet, till exempel:
Skapelsetidsstämpel efter datum
Fungeramktime() kommer att skapa en tidsstämpel om du anger timme, minut, sekund, dag i månaden, månad och år:
Fungerastrtotime()
Funktionen genererar en tidsstämpel för det datum som anges som en fras på engelska, till exempel 1 april eller fredag.
Datumvärdet måste anges i formatet ÅÅÅÅ-MM-DD. Om strtotime-funktionen inte kan konvertera ett datum, returnerar den false.
Exempel på användning av funktionendatum()
Den inbyggda funktionen floor() används för att kassera bråkdelen av resultatet.
Du kan hoppa över följande text vid första behandlingen
Datumformat i databaserMySQL
Tidstämpelformatet i PHP är inkompatibelt med tidsstämpelformatet i MySQL DBMS.
MySQL har tre typer av datum- och tidsfält: DATA (datum), TIME (tid), DATETIME (datum och tid). Det finns även en speciell datatyp TIMESTAMP, som fungerar som DATETIME, men uppdateras automatiskt enligt aktuell tid varje tidtabellsposter infogas eller uppdateras.
För att konvertera tidsstämpel i PHP-format till MySQL-format kan du använda följande kod:
Datum("Å-m-d H:i:s", $tidsstämpel)
Till exempel kan vi använda "2008-10-01 13:23:40" som datum och tid.
För att få PHP-tidsstämpeln från en SELECT-fråga måste du använda SQL-funktionen UNIX_TIMESTAMP():
VÄLJ UNIX_TIMESTAMP(datum) FRÅN tabellen
MySQL har många andra användbara funktioner för att arbeta med datum och tid.
sträng datum(sträng formatera[, int tidsstämpel])
Returnerar tiden formaterad enligt argumentet formatera, med den tidsstämpel som anges av argumentet tidsstämpel eller aktuell systemtid, Om tidsstämpel inte specificerat. Med andra ord, tidsstämpelär valfritt och har som standard värdet som returneras av funktionen tid() .
Kommentar: För de flesta system är giltiga datum från 13 december 1901, 20:45:54 GMT till 19 januari 2038, 03:14:07 GMT. (Dessa datum motsvarar minimum och högsta värde 32-bitars signerat heltal). För Windows är giltiga datum från 01/01/1970 till 19/01/2038.
Kommentar: För att få en tidsstämpel från en strängrepresentation av ett datum kan du använda funktionen strtotime(). Dessutom har vissa databaser sina egna funktioner för att konvertera den interna representationen av ett datum till en tidsstämpel (till exempel funktionen MySQL UNIX_TIMESTAMP).
Följande tecken känns igen i formatparametern
Tecken i formatsträng | Beskrivning | Exempel på returvärde |
---|---|---|
a | Ante meridiem eller Post meridiem med gemener | am eller pm |
A | Ante meridiem eller Post meridiem in versal | AM eller PM |
B | Tid i Swatch Internet-standard | 000 till 999 |
c | Datum på ISO-format 8601 (tillagd i PHP 5) | 2004-02-12T15:19:21+00:00 |
d | Dag i månaden, 2 siffror med inledande nollor | från 01 till 31 |
D | Veckodagens förkortade namn, 3 tecken | från mån till sön |
F | Fullständigt månadsnamn, till exempel januari eller mars | från januari till december |
g | Klocka i 12-timmarsformat utan inledande nollor | Från 1 till 12 |
G | Klocka i 24-timmarsformat utan inledande nollor | Från 0 till 23 |
h | Klocka i 12-timmarsformat med inledande nollor | Från 01 till 12 |
H | Klocka i 24-timmarsformat med inledande nollor | Från 00 till 23 |
i | Minuter med inledande nollor | 00 till 59 |
I (versal i) | Sommartid tecken | 1 om datumet motsvarar sommartid, annars 0 annars. |
j | Dag i månaden utan inledande nollor | Från 1 till 31 |
l (gement "L") | Veckodagens fullständiga namn | Från söndag till lördag |
L | Tecken på ett skottår | 1 om året är ett skottår, annars 0. |
m | Månads serienummer med inledande nollor | Från 01 till 12 |
M | Månadens förkortade namn, 3 tecken | Från jan till dec |
n | Månads serienummer utan inledande nollor | Från 1 till 12 |
O | Skillnad från Greenwich Mean Time i timmar | Till exempel: +0200 |
r | Datum i RFC 2822-format | Till exempel: tor 21 dec 2000 16:01:07 +0200 |
s | Sekunder med inledande nollor | Från 00 till 59 |
S | Engelskt suffix för ordningsnumret för dagen i månaden, 2 tecken | st, nd, rd eller th. Används tillsammans med j |
t | Antal dagar i en månad | Från 28 till 31 |
T | Tidszon på servern | Exempel: EST, MDT... |
U | Antalet sekunder som har gått sedan början av Unix-epoken (Unix-epoken, 1 januari 1970, 00:00:00 GMT) | Se även tid() |
w | Veckodagens serienummer | Från 0 (söndag) till 6 (lördag) |
W | Årets sekventiella nummer enligt ISO-8601, den första veckodagen är måndag (läggs till i PHP 4.1.0) | Till exempel: 42 (42:a veckan på året) |
Y | Årets serienummer, 4 siffror | Exempel: 1999, 2003 |
y | Årsnummer, 2 siffror | Exempel: 99 , 03 |
z | Dagens serienummer (numrering från 0) | Från 0 till 365 |
Z | Tidszonsförskjutning i sekunder. För tidszoner väster om UTC är detta ett negativt tal, för tidszoner öster om UTC är det positivt. | -43200 till 43200 |
Alla andra tecken som påträffas i strängen formatera, kommer att matas ut till resultatraden utan ändringar. Z returnerar alltid 0 när den används gmdate() .
Exempel på användning av date()-funktionen
Du kan undvika att känna igen ett tecken som ett formateringstecken genom att escape tecknet med \ Om tecknet i kombination med \ är speciellt (till exempel \t), bör du lägga till ytterligare \.
Escapende tecken i date()-funktionen
För att visa tiden eller datumet i ett anpassat format finns datumfunktionen.
Det här exemplet visar det aktuella datumet i formatet dag/månad/år som siffror. Efter att ha läst den här artikeln till slutet kommer du att kunna visa aktuellt datum och tid i valfritt format.
Denna funktion låter dig visa inte bara aktuellt datum och tid, utan även konvertera tidsstämpeln till ett specificerat format. Tidsstämpeln är antalet sekunder som har gått sedan linux grundades. Detta nummer kan erhållas med hjälp av time()-funktionen. Tidsstämpeln i datumfunktionen är en valfri parameter.För att få det format du behöver kan du använda speciella modifierare i den första parametern. Det finns ganska många av dem.
Tecken i formatsträng | Beskrivning | Exempel på returvärde |
---|---|---|
a | am eller pm med gemener | am, pm |
A | AM eller PM med versaler | AM, PM |
B | Tid i Swatch Internet-standard | 000 till 999 |
c | Datum i ISO 8601-format (tillagt i PHP 5) | 2005-06-11T11:11:11+00:00 |
d | Dag i månaden, 2 siffror med inledande nollor | från 01 till 31 |
D | Veckodagens förkortade namn, 3 tecken | från mån till sön |
F | Hela månadens namn | från januari till december |
g | Klocka i 12-timmarsformat utan inledande nollor | Från 1 till 12 |
G | Klocka i 24-timmarsformat utan inledande nollor | Från 0 till 23 |
h | Klocka i 12-timmarsformat med inledande nollor | Från 01 till 12 |
H | Klocka i 24-timmarsformat med inledande nollor | Från 00 till 23 |
i | Minuter med inledande nollor | 00 till 59 |
I (versal i) | Sommartid tecken | 1 om datumet motsvarar sommartid, annars 0 annars. |
j | Dag i månaden utan inledande nollor | Från 1 till 31 |
l (gement "L") | Veckodagens fullständiga namn | Från söndag till lördag |
L | Tecken på ett skottår | 1 om året är ett skottår, annars 0. |
m | Månads serienummer med inledande nollor | Från 01 till 12 |
M | Månadens förkortade namn, 3 tecken | Från jan till dec |
n | Månads serienummer utan inledande nollor | Från 1 till 12 |
O | Skillnad från Greenwich Mean Time i timmar | +0200 |
r | Datum i RFC 2822-format | Tors, 28 Jan 2011 15:11:14 +0200 |
s | Sekunder med inledande nollor | Från 00 till 59 |
S | Engelskt suffix för ordningsnumret för dagen i månaden, 2 tecken | st, nd, rd eller th. Används tillsammans med j |
t | Antal dagar i en månad | Från 28 till 31 |
T | Tidszon på servern | Exempel: EST, MDT... |
U | Antalet sekunder som har gått sedan början av Unix-epoken (The Unix Epoch, 1 januari 1970, 00:00:00 GMT) | 1356361196 |
w | Veckodagens serienummer | Från 0 (söndag) till 6 (lördag) |
W | Årets sekventiella nummer enligt ISO-8601, den första veckodagen är måndag (läggs till i PHP 4.1.0) | Till exempel: 42 (42:a veckan på året) |
Y | Årets serienummer, 4 siffror | Exempel: 1986, 2012 |
y | Årsnummer, 2 siffror | Exempel: 86, 12 |
z | Dagens serienummer (numrering från 0) | Från 0 till 365 |
Z | Tidszonsförskjutning i sekunder. För tidszoner väster om UTC är detta ett negativt tal, för tidszoner öster om UTC är det positivt. | -43200 till 43200 |
Om du tyckte att den här webbplatsen var användbar kan du hjälpa till att utveckla den genom att placera den
JavaScript är blockerat i din webbläsare. Vänligen aktivera JavaScript för att webbplatsen ska fungera!
Datum och tid representation
I distribuerade system som Internet spelar tiden en speciell roll. På grund av en liten diskrepans i systemklockan kan en Forex-spelare förlora tiotusentals dollar inom några minuter; Business Intelligence-systemet kommer att göra ett misstag när det gör en prognos; NNTP-servrar kommer att förlora under synkroniseringen viktig information, som behövs av användaren etc.
PHP innehåller många funktioner för att arbeta med datum och tid. De mest använda är:
- tid()- returnerar den aktuella absoluta tiden. Detta antal är lika med antalet sekunder som har gått sedan midnatt den 1 januari 1970 (sedan UNIX-eran började).
- getdate()- läser information om datum och tid. Returnerar en associativ matris som innehåller information för den angivna eller aktuella (som standard) tiden. Arrayen innehåller följande element:
Exempel 1
Använder getdate() $val) echo "$key = $val
"; eka"
Idag: $d.$d.$d"; ?>RESULTAT AV EXEMPEL 1:
Sekunder = 21 minuter = 4 timmar = 12 mdag = 10 wdag = 4 mån = 11 år = 2005 yday = 313 veckodagar = Torsdag månad = 0 november = 1131613461 Idag: 2005-11-10
- datum()- formatering av datum och tid. Argument: formatsträng och absolut tid. Det andra argumentet är valfritt. Returnerar en sträng med det givna eller aktuella datumet i det angivna formatet. Formatsträngen kan innehålla följande koder:
a A "AM" eller "PM" beteckning ingår d Månadens dag (01-31) D Förkortat namn på veckodagen (tre bokstäver) F Hela månadens namn g Klocka (12-timmarsformat utan inledande nollor) G Klocka (24-timmarsformat utan inledande nollor) h Klocka (12 timmars format) H Klocka (24-timmarsformat) i Minuter (00-59) j Dag i månaden utan inledande nollor (1-31) l Veckodagens fullständiga namn L Skottårsindikator (0 eller 1) m Månad (01-12) M Förkortat månadsnamn (tre bokstäver) n Månad (1-12) s sekunder (00-59) t Antal dagar i en given månad (från 28 till 31) U Absolut tid w y År (två led) Y År (fyra led) z Årets dag (0-365) Z Tidszonförskjutning i sekunder (-43200 till 43200) All annan information som ingår i formatsträngen kommer att infogas i den returnerade strängen. Om du behöver lägga till tecken i formatsträngen som själva är formatkoder, måste de föregås av ett omvänt snedstreck "\". Tecken som blir formatkoder när de läggs till med ett omvänt snedstreck måste föregås av två snedstreck framåt. Om du till exempel behöver lägga till "n" till en sträng måste du ange "\\n" eftersom "\n" är ett nyradstecken.
Exempel 2
Använder date() RESULTAT AV EXEMPEL 2:
Idag: 10.11.05 13:03
- mktime()- returnerar den absoluta tiden, som sedan kan användas med funktionerna date() eller getdate(). Tar upp till sex heltalsargument i följande ordning:
Titta
minuter
sekunder
månad
dag i månaden
årExempel 3
Använder mktime() RESULTAT AV EXEMPEL 3:
- checkdate()- kontrollera att datumet är korrekt. Argument: månad, dag, år. Returnerar sant om datumet är korrekt, d.v.s.
månad - ett heltal från 1 till 12;
day är ett heltal som inte överstiger det totala antalet dagar i en given månad. I det här fallet behandlas skottår korrekt;
år är ett heltal från 1 till 32767.Till exempel:
If (!checkdate($month, 1, $year)) ( $d = getdate(); $month = $d; $year = $d; )
Uppmärksamhet! Datumet kan vara inom ett giltigt intervall, men andra datumfunktioner accepterar inte värdet. Således bör mktime() inte användas i år före 1902, och bör användas med försiktighet i år före 1970.
- strftime()- bildande av lokalt datum och tid. Argument: formatsträng och absolut tid. Det andra argumentet är valfritt. Returnerar en sträng med det givna eller aktuella datumet i det angivna formatet. I det här fallet extraheras namnen på månader och veckodagar från den plats som valts med funktionen. Formatsträngen kan innehålla följande koder:
%a Veckodagens förkortade namn %A Veckodagens fullständiga namn %b Förkortat månadsnamn %B Hela månadens namn %c Föredraget datum- och tidsformat %C Århundrade nummer %d Dag i månaden (1-31) %D Samma som %m/%d/%y %e Månad (1-12) %h Samma som %b %H Klocka (24-timmarsformat) %I Klocka (12 timmars format) %j Årets dag (0-365) %m Månad (1-12) %M minuter %n Newline karaktär %p "am" eller "pm" notation ingår %r Tid med a.m./p.m. notation %R Tid i 24-timmarsformat %S sekunder (00-59) %t Tab-tecken %T Samma som %H:%M:%S %u Nummer på veckodagen (1 - måndag, 7 - söndag) %U Veckans nummer. Nedräkningen börjar den första söndagen på året %V Veckonummer enligt ISO 8601:1988. Den första veckan måste ha minst fyra dagar och måndag anses vara den första dagen %W Veckans nummer. Nedräkningen börjar den första måndagen på året %w Nummer på veckodagen (0 - söndag, 6 - lördag) %x Föredraget datumformat utan tid %X Föredraget tidsformat utan datum %y År (två led) %Y År (fyra led) %Z Tidszon (namn eller förkortning) %% Symbol "%" All annan information som ingår i formatsträngen kommer att infogas i den returnerade strängen.
(PHP 4, PHP 5, PHP 7)
datum - Formaterar systemets datum/tid
Beskrivning
Sträng datum (sträng $format [, int $timestamp = tid() ])
Returnerar en sträng formaterad enligt det angivna formatmönstret. tid().
Tidsstämpeln som anges av tidsstämpelargumentet används, eller den aktuella systemtiden om en tidsstämpel inte anges.
Tidsstämpeln är alltså valfri och har som standard värdet som returneras av funktionen Lista över parametrar Resultatsträngmönster ( sträng) med datum. Se formateringsalternativ nedan. Det finns också flera fördefinierade datum/tidskonstanter som kan användas i stället för dessa parametrar. Till exempel:.
Tecken i formatsträng | Beskrivning | Exempel på returvärde |
---|---|---|
ersätter mallen | --- | --- |
d | "D, d M Y H:i:s" | Följande tecken känns igen i formatparametern 01 Dag 31 |
D | Dag i månaden, 2 siffror med inledande nolla från | Följande tecken känns igen i formatparametern till Dag Textrepresentation |
j | veckodagar, 3 tecken | Följande tecken känns igen i formatparametern 1 Dag 31 |
l mån | Veckodagens fullständiga namn | Följande tecken känns igen i formatparametern Sol Dag Dag i månaden utan inledande nolla |
(gement "L") | söndag | Följande tecken känns igen i formatparametern 1 lördag 7 N |
S | Engelskt suffix för ordningsnumret för dagen i månaden, 2 tecken | Veckodagens ordningsnummer i enlighet med ISO-8601-standarden (tillagt i PHP 5.1.0), (måndag) till kl, (söndag) st nd rd j |
w | Veckodagens serienummer | Följande tecken känns igen i formatparametern 0 eller 6 th |
z | . Används tillsammans med | (söndag) till kl 0 Dag 365 |
(lördag) | --- | --- |
W | Dagens serienummer (från 0) | Från 42 Vecka |
Serienumret för årets vecka i enlighet med ISO-8601-standarden; veckor börjar på måndag (läggs till i PHP 4.1.0) | --- | --- |
F | Fullständigt månadsnamn, till exempel januari eller mars | Följande tecken känns igen i formatparametern Till exempel: Dag (42:a veckan på året) |
m | Månad | Följande tecken känns igen i formatparametern 01 Dag 12 |
M | Månadens förkortade namn, 3 tecken | Följande tecken känns igen i formatparametern januari Dag december |
n | Månads serienummer med inledande nolla | Följande tecken känns igen i formatparametern 1 Dag 12 |
t | Jan | Följande tecken känns igen i formatparametern 28 Dag 31 |
dec | --- | --- |
L | Tecken på ett skottår | 1 Månads serienummer utan inledande nolla 0 . |
Antal dagar i den angivna månaden | År Y, om året är ett skottår, annars W o | Årsnummer enligt ISO-8601 standard. 1999 Har samma betydelse som 2003 |
Y | Årets serienummer, 4 siffror | Årsnummer enligt ISO-8601 standard. 1999 , 2003 |
y | Årsnummer, 2 siffror | Årsnummer enligt ISO-8601 standard. 99 , 03 |
, förutom när ISO-veckans nummer ( | --- | --- |
a | ) tillhör föregående eller nästa år; då kommer veckans år att användas. (tillagt i PHP 5.1.0) | Exempel: Har samma betydelse som eller |
A | Tid | Ante meridiem (engelska: "före middagen") eller Post meridiem (engelska: "efter middagen") med små bokstäver Har samma betydelse som am |
B | kl | Följande tecken känns igen i formatparametern 000 Dag 999 |
g | Ante meridiem eller Post meridiem med versaler | Följande tecken känns igen i formatparametern 1 Dag 12 |
G | A.M. | Följande tecken känns igen i formatparametern 0 Dag 23 |
h | P.M. | Följande tecken känns igen i formatparametern 01 Dag 12 |
H | Tid i internettidsformat (ett alternativt system för att räkna tiden på dygnet) | Följande tecken känns igen i formatparametern 00 Dag 23 |
i | Klocka i 12-timmarsformat utan inledande nolla | Följande tecken känns igen i formatparametern 00 Dag 59 |
s | Klocka i 24-timmarsformat utan inledande nolla | Följande tecken känns igen i formatparametern 00 Dag 59 |
Klocka i 12-timmarsformat med inledande nolla | Mikrosekunder (tillagd i PHP 5.2.2). Observera det datum() kommer alltid tillbaka 000000 , därför att den accepterar ett heltal ( heltal) parameter, medan DateTime::format() stöder mikrosekunder. | Från 654321 |
Tidszon | --- | --- |
e | Kod för tidszonsskala (tillagd i PHP 5.1.0) | Årsnummer enligt ISO-8601 standard. UTC, GMT, Atlanten/Azorerna |
jag(versal i) | Sommartid tecken | 1 , om datumet motsvarar sommartid, 0 annat. |
O | Skillnad från Greenwich-tid, i timmar | Från +0200 |
P | GMT-skillnad med kolon mellan timmar och minuter (tillagt i PHP 5.1.3) | Från +02:00 |
T | Tidszonförkortning | Årsnummer enligt ISO-8601 standard. EST, MDT ... |
Z | Tidszonsförskjutning i sekunder. För tidszoner väster om UTC returneras negativa tal, och för de som ligger öster om UTC returneras positiva tal. | Följande tecken känns igen i formatparametern -43200 Dag 50400 |
Fullständigt datum/tid | --- | --- |
c | Datum i ISO 8601-format (tillagt i PHP 5) | 2004-02-12T15:19:21+00:00 |
r | Datum i » RFC 2822-format | Från Tors, 21 Dec 2000 16:01:07 +0200 |
U | Antalet sekunder som har gått sedan början av Unix-epoken (Unix-epoken, 1 januari 1970 00:00:00 GMT) | Se även tid() |
Alla andra tecken som påträffas i mönstersträngen kommer att skrivas ut oförändrade i resultatsträngen. Zåterkommer alltid 0 vid användning gmdate().
tidsstämpelKommentar:
Eftersom funktionen i fråga tar tidsstämplar som heltal, formateringstecken Klocka i 12-timmarsformat med inledande nolla kommer bara att vara användbar när du använder funktionen date_format() och anpassade tidsstämplar skapade med funktionen date_create().
Den valfria tidsstämpelparametern är heltal tidsstämpel, som standard till den aktuella lokala tiden om tidsstämpeln inte anges. Med andra ord är standardvärdet lika med funktionsresultatet tid().
Returvärden
Returnerar en formaterad datumsträng. När ett icke-numeriskt värde skickas som en parameter kommer tidsstämpeln att returneras FALSK och ett nivåfel uppstår E_VARNING.
Lista över ändringar
Version | Beskrivning |
---|---|
5.1.0 | Det giltiga datumintervallet för tidsstämplar är vanligtvis 13 december 1901 20:45:54 GMT till 19 januari 2038 03:14:07 GMT. (De motsvarar det lägsta och högsta värdet för ett 32-bitars heltal med tecken). Men för PHP-versioner under 5.1.0 i vissa operativsystem |
5.1.0 | (t.ex. Windows) detta intervall var begränsat till datum 1970-01-01 till 2038-01-19. Fel relaterade till tidszoner genererar nu nivåfel E_STRICT Och. |
5.1.1 | E_NOTICE |
För standardformat för datum/tid finns det speciella konstanter som kan anges som formatparameter.
Exempel datum()
// ställ in standardtidszonen. Tillgänglig sedan PHP 5.1
date_default_timezone_set("UTC");
// kommer att mata ut något så här: måndag
echo date("l");
// kommer att mata ut något så här: måndag 8 augusti 2005 15:12:46
ekodatum ("l jS \of F Y h:i:s A" );
// kommer ut: 1 juli 2000 är på en lördag
echo "1 juli 2000 är på en " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* exempel på att använda en konstant som en formateringsparameter */
// kommer att mata ut något så här: ons, 25 sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// kommer att mata ut något så här: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>
För att förhindra att ett tecken identifieras som ett formateringstecken, måste du undvika det med ett omvänt snedstreck. Om det kodade tecknet också är en formatsekvens, bör det kodas igen.
Exempel #2 Escapende tecken i en funktion datum()
// kommer att skriva ut något så här: onsdagen den 15:e
ekodatum ("l \t\h\e jS" );
?>
För att visa tidigare och framtida datum är det bekvämt att använda funktionerna datum() Och mktime().
Exempel #3 Exempel delning funktioner datum() Och mktime()
$morgondag = mktid (0 , 0 , 0 , datum ("m") , datum ("d")+ 1, datum ("Y" ));
$lastmonth = mktime (0 , 0 , 0 , datum ("m") - 1, datum ("d" ), datum ("Y"));
$nextyear = mktime (0 , 0 , 0 , datum ( "m" ), datum ( "d" ), datum ( "Y")+ 1 );
?>
Kommentar:
Denna metod är mer tillförlitlig än att bara subtrahera och lägga till sekunder till en tidsstämpel, eftersom den möjliggör flexibel övergång till sommar/vintertid vid behov.
Några fler exempel på användning av funktionen datum(). Det är viktigt att notera att du ska undvika alla tecken som du vill lämna oförändrade. Detta gäller också för de karaktärer som är det nuvarande version PHP känns inte igen som formatering eftersom detta kan införas i framtida versioner.
För att undvika escape-sekvenser (som \n), bör du använda enstaka citattecken. datum()
Exempel #4 Formatering med hjälp av
// Låt oss anta att det aktuella datumet är 10 mars 2001, 17:16:18,
// och vi är i Mountain Standard Time (MST) tidszon
$today = datum ("F j, Y, g:i a" ); // 10 mars 2001, 17:16
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y" ); // 10, 3, 2001
$today = date("Ymd"); // 20010310 $today = datum ("h-i-s, j-m-y, det är w Dag" );
// 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = datum ("D M j G:i:s T Y" ); // lör 10 mars 17:16:18 MST 2001
$today = datum ("H:m:s \m \i\s\ \m\o\n\t\h" ); // 17:03:18 m är månad
$today = date("H:i:s"); // 17:16:18
$today = datum ("Y-m-d H:i:s" ); // 2001-03-10 17:16:18 (MySQL DATETIME-format)
?>
För att formatera datum på andra språk, använd istället datum() funktioner setlocale() E_STRICT strftime().
Anteckningar
Kommentar:
För att få en tidsstämpel från en strängrepresentation av ett datum kan du använda funktionen strtotime(). Dessutom har vissa databaser sina egna funktioner för att konvertera den interna representationen av ett datum till en tidsstämpel (till exempel funktionen MySQL » UNIX_TIMESTAMP).