De huidige datum ophalen in php. De functie date() gebruiken in PHP. Weergave van datum en tijd

Er worden verschillende functies gebruikt om met datums in PHP te werken. We gaan beginnen met leren met de functie tijd.

Tijdfunctie, tijdstempelformaat

Functie tijd retourneert het verschil in seconden tussen 1 januari 1970 En huidige moment in de tijd. Deze datumweergave wordt een formaat genoemd tijdstempel.

Waarom heb je een tijdstempel nodig?

Tijd in formaat tijdstempel gebruikt om het verschil tussen datums in seconden te vinden.

Ik heb bijvoorbeeld een tijdstempel voor 1 januari van het lopende jaar en tijdstempel voor het huidige moment. Ik trek het een van het ander af en bereken het verschil tussen deze momenten in seconden.

Ik deel dit verschil door 60 en krijg het verschil in minuten (aangezien er 60 seconden in een minuut zitten). Ik deel het door nog eens 60 en krijg het verschil in uren. En zo verder. tijd De functie gebruiken we kunnen alleen het huidige moment in de tijd krijgen. Om een ​​tijdstempel op te halen welke datum dan ook:

functie moet worden gebruikt

Functie welke datum dan ook mktijd tijd mktime-functie werkt vergelijkbaar met de functie, maar, in tegenstelling tot dit, zijn er parameters nodig: mktime(uur, minuut, seconde, maand, dag, jaar)(houd er rekening mee

maand en dag zijn omgedraaid). Kijk naar voorbeelden van werk:

Parameters kunnen aan het einde worden weggelaten . Als we het jaartal (de laatste parameter) niet schrijven, wordt automatisch het huidige jaar genomen; als we niet ook de dag schrijven (de voorlaatste parameter), dan worden de huidige dag en het huidige jaar genomen. En zo verder: Laten we een typisch probleem oplossen tijd En welke datum dan ook taak op. Laten we moeten vinden

verschil in seconden tussen de huidige tijd en middaguur (12 uur, 0 minuten, 0 seconden) op 1 februari (februari is maandnummer 2) 2000: 612717139 Het resulterende verschil in seconden

zal er als volgt uitzien: tijdstempel(vernieuw de pagina en dit nummer zal veranderen).

Gewapend met kennis van wat het formaat is

Functie (we hebben het later nodig), laten we meer nuttige functies bestuderen voor het werken met datums, bijvoorbeeld de datumfunctie. datum functie

datum geeft de huidige datum en tijd weer in het opgegeven formaat.

Formaat (wordt gespecificeerd door besturingsopdrachten (Engelse letters), en u kunt er scheidingstekens tussen invoegen (koppeltekens, dubbele punten, enzovoort). Teams

  • Hoofdletters zijn anders dan gewone letters, Let op!):
  • U– het aantal seconden dat is verstreken sinds 1 januari 1970 (dat wil zeggen: tijdstempel).
  • z– dagnummer vanaf het begin van het jaar.
  • Y– jaartal, 4 cijfers.
  • j- jaartal, twee cijfers.
  • M– maandnummer (met voorloopnul).
  • N– het nummer van de dag in de maand, altijd twee cijfers (dat wil zeggen, de eerste kan nul zijn).
  • J– nummer van de dag in de maand zonder voorafgaande nul.
  • w– dag van de week (0 - zondag, 1 - maandag, enz.).
  • H– klok in 12-uursformaat.
  • H– klok in 24-uursformaat.
  • i– minuten.
  • S– seconden.
  • L– 1 als het een schrikkeljaar is, 0 als het geen schrikkeljaar is.
  • W– serienummer van de week van het jaar.
  • T– het aantal dagen in de opgegeven maand.

Voorbeelden van werken met datum:

Tweede parameter van de datumfunctie

Functie (we hebben het later nodig), laten we meer nuttige functies bestuderen voor het werken met datums, bijvoorbeeld de datumfunctie. heeft een seconde optionele parameter, waarbij een tijdstip in tijdstempelformaat wordt weergegeven. Als u deze parameter doorgeeft, zal de datumfunctie niet het huidige tijdstip opmaken, maar het tijdstip dat als tweede parameter is doorgegeven. Dit tijdstempel kunt u bijvoorbeeld verkrijgen via welke datum dan ook(maar niet verplicht):

Dit kan worden gebruikt om het nummer van de dag van de week voor een specifieke datum te achterhalen - we geven het eenvoudigweg door als de tweede parameter met behulp van de functie welke datum dan ook en de eerste parameter is het besturingsteken "w":

strtotime-functie

De volgende nuttige functie waar we naar zullen kijken heet strtotime.

Functie strtotijd- dit is een analoog van de mktime-functie (retourneert ook een tijdstempel), alleen in tegenstelling tot deze functie is er een datum nodig meer gratis formaat.

Ik kan er bijvoorbeeld de string aan doorgeven "2025-12-31" en de functie zelf zal uitzoeken waar het jaar is, waar de maand is en waar de dag is, en deze datum in tijdstempelformaat retourneren.

Wat kun je nog meer doen: je kunt zo schrijven - strtotime("nu")- en we zullen het huidige moment in de tijd krijgen, of zo - strtotime("volgende maandag")- en we krijgen volgende maandag (maandag in het Engels is "maandag").

Alle formaten kunnen worden bekeken.

Voorbeelden van werkzaamheden:

De volgende code retourneert de datum van de vorige maandag:

Een datum optellen of aftrekken

Om een ​​bepaalde tijdsperiode aan een datum af te trekken of toe te voegen, moet u een combinatie van drie functies gebruiken: date_create - het bereidt de datum voor op het werk (de datum moet in het jaar-maand-dag-formaat zijn), waardoor de zogenaamde datumobject, waarmee verdere manipulaties worden uitgevoerd, date_modify - het voegt toe of trekt af, date_format - het geeft de resulterende datum weer in een bepaald formaat. Bestudeer de onderstaande voorbeelden om te begrijpen hoe u met deze functies kunt werken.

Voorbeeld 1

Laten we een object maken met een datum voor 2025, 12 maanden, 31 dagen, er vervolgens 1 dag aan toevoegen en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Voorbeeld 2

Laten we een object maken met een datum voor 2025, 12 maanden, 31 dagen, er vervolgens 3 dagen aan toevoegen en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Voorbeeld 3

Laten we een object maken met een datum voor 2025, 12 maanden, 31 dagen, er vervolgens 3 dagen en 1 maand aan toevoegen en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Voorbeeld 4

Laten we een object maken met een datum voor 2025, 1 maand, 1 dag, daar vervolgens 1 dag van aftrekken en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Wat moet u vervolgens doen:

Begin met het oplossen van problemen via de volgende link: problemen voor de les.

Als je alles hebt besloten, ga dan verder met het bestuderen van een nieuw onderwerp.

JavaScript is geblokkeerd in uw browser. Schakel JavaScript in om de site te laten functioneren!

Weergave van datum en tijd

In gedistribueerde systemen zoals het internet speelt tijd een bijzondere rol. Door een kleine discrepantie in de systeemklok kan een Forex-speler binnen enkele minuten tienduizenden dollars verliezen; het business intelligence-systeem zal een fout maken bij het maken van een voorspelling; NNTP-servers verliezen belangrijke informatie die de gebruiker nodig heeft tijdens het synchronisatieproces, enz.

PHP bevat veel functies voor het werken met datum en tijd. De meest gebruikte zijn:

  • tijd()- geeft de huidige absolute tijd terug. Dit aantal is gelijk aan het aantal seconden dat is verstreken sinds middernacht op 1 januari 1970 (sinds het begin van het UNIX-tijdperk).
  • getdate()- leest datum- en tijdinformatie. Retourneert een associatieve array met informatie voor de opgegeven of huidige (standaard) tijd. De array bevat de volgende elementen:

    Voorbeeld 1

    Getdate() gebruiken $val) echo "$sleutel = $val
    "; echo"
    Vandaag: $d.$d.$d"; ?>

    RESULTAAT VAN VOORBEELD 1:

    Seconden = 21 minuten = 4 uur = 12 mdag = 10 wdag = 4 ma = 11 jaar = 2005 ydag = 313 weekdag = Donderdag maand = 0 november = 1131613461 Vandaag: 11/10/2005

  • datum()- datum- en tijdnotatie. Argumenten: formaattekenreeks en absolute tijd. Het tweede argument is optioneel. Retourneert een tekenreeks met de opgegeven of huidige datum in het opgegeven formaat. De formatstring kan de volgende codes bevatten:
    A
    A"AM"- of "PM"-aanduiding inbegrepen
    NDag van de maand (01-31)
    DVerkorte naam van de dag van de week (drie letters)
    FVolledige naam van de maand
    GKlok (12-uursnotatie zonder voorloopnullen)
    GKlok (24-uursnotatie zonder voorloopnullen)
    HKlok (12-uursformaat)
    HKlok (24-uursformaat)
    iMinuten (00-59)
    JDag van de maand zonder voorafgaande nullen (1-31)
    lVolledige naam van de dag van de week
    LSchrikkeljaarteken (0 of 1)
    jMaand (01-12)
    MAfgekorte maandnaam (drie letters)
    MMaand (1-12)
    SSeconden (00-59)
    TAantal dagen in een bepaalde maand (van 28 tot 31)
    Hoofdletters zijn anders dan gewone lettersAbsolute tijd
    w
    YJaar (twee rangen)
    zJaar (vier rangen)
    UDag van het jaar (0-365)
    ZTijdzone-offset in seconden (-43200 tot 43200)

    Alle andere informatie die in de formatstring is opgenomen, wordt in de geretourneerde string ingevoegd. Als u tekens aan de opmaaktekenreeks moet toevoegen die zelf opmaakcodes zijn, moeten deze worden voorafgegaan door een backslash "\". Tekens die formaatcodes worden wanneer ze worden toegevoegd aan een backslash, moeten worden voorafgegaan door twee schuine strepen naar voren. Als u bijvoorbeeld "n" aan een tekenreeks moet toevoegen, moet u "\\n" invoeren, aangezien "\n" een teken voor de nieuwe regel is.

    Voorbeeld 2

    Datum() gebruiken

    RESULTAAT VAN VOORBEELD 2:

    Vandaag: 10.11.05 13:03

  • mktijd()- retourneert de absolute tijd, die vervolgens kan worden gebruikt met de functies date() of getdate(). Bevat maximaal zes integer-argumenten in de volgende volgorde:

    Horloge
    notulen
    seconden
    maand
    dag van de maand
    jaar

    Voorbeeld 3

    mktime() gebruiken

    RESULTAAT VAN VOORBEELD 3:

  • controledatum()- controle van de juistheid van de datum. Argumenten: maand, dag, jaar. Retourneert waar als de datum correct is, d.w.z.
    maand - een geheel getal van 1 tot 12;
    dag is een geheel getal dat het totale aantal dagen in een bepaalde maand niet overschrijdt. In dit geval worden schrikkeljaren correct verwerkt;
    jaar is een geheel getal van 1 tot 32767.

    Bijvoorbeeld:

    If (!checkdate($maand, 1, $jaar)) ( $d = getdate(); $maand = $d; $jaar = $d; )

    Aandacht! De datum kan binnen een geldig bereik liggen, maar andere datumfuncties accepteren de waarde niet. Daarom mag mktime() niet worden gebruikt in de jaren vóór 1902, en moet het met voorzichtigheid worden gebruikt in de jaren vóór 1970.

  • strftijd()- vorming van lokale datum en tijd. Argumenten: formaattekenreeks en absolute tijd. Het tweede argument is optioneel. Retourneert een tekenreeks met de opgegeven of huidige datum in het opgegeven formaat. In dit geval worden de namen van maanden en dagen van de week geëxtraheerd uit de landinstelling die is geselecteerd met behulp van de functie. De formatstring kan de volgende codes bevatten:
    %AAfgekorte naam van de dag van de week
    %AVolledige naam van de dag van de week
    %BAfgekorte naam van de maand
    %BVolledige naam van de maand
    %CVoorkeur voor datum- en tijdformaat
    %CEeuw nummer
    %DDag van de maand (1-31)
    %DHetzelfde als %m/%d/%y
    % eMaand (1-12)
    %HHetzelfde als %B
    %HKlok (24-uursformaat)
    %IKlok (12-uursformaat)
    %JDag van het jaar (0-365)
    %MMaand (1-12)
    %Mnotulen
    %NNewline-karakter
    %P"am" of "pm" notatie inbegrepen
    %RTijd met am/p.m.-notatie
    %RTijd in 24-uursformaat
    %SSeconden (00-59)
    %TTab-teken
    %THetzelfde als %H:%M:%S
    %uNummer van de dag van de week (1 - maandag, 7 - zondag)
    %UWeeknummer. Het aftellen begint op de eerste zondag van het jaar
    %VWeeknummer volgens ISO 8601:1988. De eerste week moet minimaal vier dagen hebben en maandag wordt als de eerste dag beschouwd
    % WWeeknummer. Het aftellen begint op de eerste maandag van het jaar
    %wNummer van de dag van de week (0 - zondag, 6 - zaterdag)
    %XVoorkeursdatumformaat zonder tijd
    %XVoorkeurstijdformaat zonder datum
    %yJaar (twee rangen)
    %JJaar (vier rangen)
    %ZTijdzone (naam of afkorting)
    %% Symbool "%"

    Alle andere informatie die in de formatstring is opgenomen, wordt in de geretourneerde string ingevoegd.

Er worden verschillende functies gebruikt om met datums in PHP te werken. We gaan beginnen met leren met de functie tijd.

Tijdfunctie, tijdstempelformaat

Functie tijd retourneert het verschil in seconden tussen 1 januari 1970 En huidige moment in de tijd. Deze datumweergave wordt een formaat genoemd tijdstempel.

Waarom heb je een tijdstempel nodig?

Tijd in formaat tijdstempel gebruikt om het verschil tussen datums in seconden te vinden.

Ik heb bijvoorbeeld een tijdstempel voor 1 januari van het lopende jaar en tijdstempel voor het huidige moment. Ik trek het een van het ander af en bereken het verschil tussen deze momenten in seconden.

Ik deel dit verschil door 60 en krijg het verschil in minuten (aangezien er 60 seconden in een minuut zitten). Ik deel het door nog eens 60 en krijg het verschil in uren. En zo verder. tijd De functie gebruiken we kunnen alleen het huidige moment in de tijd krijgen. Om een ​​tijdstempel op te halen welke datum dan ook:

functie moet worden gebruikt

Functie welke datum dan ook mktijd tijd mktime-functie werkt vergelijkbaar met de functie, maar, in tegenstelling tot dit, zijn er parameters nodig: mktime(uur, minuut, seconde, maand, dag, jaar)(houd er rekening mee

maand en dag zijn omgedraaid). Kijk naar voorbeelden van werk:

Parameters kunnen aan het einde worden weggelaten . Als we het jaartal (de laatste parameter) niet schrijven, wordt automatisch het huidige jaar genomen; als we niet ook de dag schrijven (de voorlaatste parameter), dan worden de huidige dag en het huidige jaar genomen. En zo verder: Laten we een typisch probleem oplossen tijd En welke datum dan ook taak op. Laten we moeten vinden

verschil in seconden tussen de huidige tijd en middaguur (12 uur, 0 minuten, 0 seconden) op 1 februari (februari is maandnummer 2) 2000: 612717139 Het resulterende verschil in seconden

zal er als volgt uitzien: tijdstempel(vernieuw de pagina en dit nummer zal veranderen).

Gewapend met kennis van wat het formaat is

Functie (we hebben het later nodig), laten we meer nuttige functies bestuderen voor het werken met datums, bijvoorbeeld de datumfunctie. datum functie

datum geeft de huidige datum en tijd weer in het opgegeven formaat.

Formaat (wordt gespecificeerd door besturingsopdrachten (Engelse letters), en u kunt er scheidingstekens tussen invoegen (koppeltekens, dubbele punten, enzovoort). Teams

  • Hoofdletters zijn anders dan gewone letters, Let op!):
  • U– het aantal seconden dat is verstreken sinds 1 januari 1970 (dat wil zeggen: tijdstempel).
  • z– dagnummer vanaf het begin van het jaar.
  • Y– jaartal, 4 cijfers.
  • j- jaartal, twee cijfers.
  • M– maandnummer (met voorloopnul).
  • N– het nummer van de dag in de maand, altijd twee cijfers (dat wil zeggen, de eerste kan nul zijn).
  • J– nummer van de dag in de maand zonder voorafgaande nul.
  • w– dag van de week (0 - zondag, 1 - maandag, enz.).
  • H– klok in 12-uursformaat.
  • H– klok in 24-uursformaat.
  • i– minuten.
  • S– seconden.
  • L– 1 als het een schrikkeljaar is, 0 als het geen schrikkeljaar is.
  • W– serienummer van de week van het jaar.
  • T– het aantal dagen in de opgegeven maand.

Voorbeelden van werken met datum:

Tweede parameter van de datumfunctie

Functie (we hebben het later nodig), laten we meer nuttige functies bestuderen voor het werken met datums, bijvoorbeeld de datumfunctie. heeft een seconde optionele parameter, waarbij een tijdstip in tijdstempelformaat wordt weergegeven. Als u deze parameter doorgeeft, zal de datumfunctie niet het huidige tijdstip opmaken, maar het tijdstip dat als tweede parameter is doorgegeven. Dit tijdstempel kunt u bijvoorbeeld verkrijgen via welke datum dan ook(maar niet verplicht):

Dit kan worden gebruikt om het nummer van de dag van de week voor een specifieke datum te achterhalen - we geven het eenvoudigweg door als de tweede parameter met behulp van de functie welke datum dan ook en de eerste parameter is het besturingsteken "w":

strtotime-functie

De volgende nuttige functie waar we naar zullen kijken heet strtotime.

Functie strtotijd- dit is een analoog van de mktime-functie (retourneert ook een tijdstempel), alleen in tegenstelling tot deze functie is er een datum nodig meer gratis formaat.

Ik kan er bijvoorbeeld de string aan doorgeven "2025-12-31" en de functie zelf zal uitzoeken waar het jaar is, waar de maand is en waar de dag is, en deze datum in tijdstempelformaat retourneren.

Wat kun je nog meer doen: je kunt zo schrijven - strtotime("nu")- en we zullen het huidige moment in de tijd krijgen, of zo - strtotime("volgende maandag")- en we krijgen volgende maandag (maandag in het Engels is "maandag").

Alle formaten kunnen worden bekeken.

Voorbeelden van werkzaamheden:

De volgende code retourneert de datum van de vorige maandag:

Een datum optellen of aftrekken

Om een ​​bepaalde tijdsperiode aan een datum af te trekken of toe te voegen, moet u een combinatie van drie functies gebruiken: date_create - het bereidt de datum voor op het werk (de datum moet in het jaar-maand-dag-formaat zijn), waardoor de zogenaamde datumobject, waarmee verdere manipulaties worden uitgevoerd, date_modify - het voegt toe of trekt af, date_format - het geeft de resulterende datum weer in een bepaald formaat. Bestudeer de onderstaande voorbeelden om te begrijpen hoe u met deze functies kunt werken.

Voorbeeld 1

Laten we een object maken met een datum voor 2025, 12 maanden, 31 dagen, er vervolgens 1 dag aan toevoegen en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Voorbeeld 2

Laten we een object maken met een datum voor 2025, 12 maanden, 31 dagen, er vervolgens 3 dagen aan toevoegen en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Voorbeeld 3

Laten we een object maken met een datum voor 2025, 12 maanden, 31 dagen, er vervolgens 3 dagen en 1 maand aan toevoegen en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Voorbeeld 4

Laten we een object maken met een datum voor 2025, 1 maand, 1 dag, daar vervolgens 1 dag van aftrekken en het uitvoeren in het formaat "dag.maand.jaar"

Resultaat van het uitvoeren van de code:

Wat moet u vervolgens doen:

Begin met het oplossen van problemen via de volgende link: problemen voor de les.

Als je alles hebt besloten, ga dan verder met het bestuderen van een nieuw onderwerp.

Inleiding tot OOP

  • Les nr.
    nieuw tabblad met new.code.mu
    Invoering
  • Les nr.
    nieuw tabblad met new.code.mu
    Eigenschappen
  • Les nr.
    nieuw tabblad met new.code.mu
    Methoden
  • Les nr.
    nieuw tabblad met new.code.mu
    Eigenschappen en $dit
  • Les nr.
    nieuw tabblad met new.code.mu
    Methoden en $dit
  • Les nr.
    nieuw tabblad met new.code.mu
    publiek privé
  • Les nr.
    nieuw tabblad met new.code.mu
    Constructeur
  • Les nr.
    nieuw tabblad met new.code.mu
    Getters-setters
  • Les nr.
    nieuw tabblad met new.code.mu
    Alleen-lezen eigenschappen
  • Les nr.
    nieuw tabblad met new.code.mu
    Eén klasse - één bestand
  • Les nr.
    nieuw tabblad met new.code.mu
    Objecten in een array
  • Les nr.
    nieuw tabblad met new.code.mu
    Initiële eigenschapswaarden in de constructor

(PHP4, PHP5, PHP7)

datum - Formatteert de uitvoer van de systeemdatum/-tijd

Beschrijving

Snaar (we hebben het later nodig), laten we meer nuttige functies bestuderen voor het werken met datums, bijvoorbeeld de datumfunctie. (tekenreeks $formaat [, int $tijdstempel = tijd() ])

Retourneert een tekenreeks die is opgemaakt volgens het opgegeven opmaakpatroon. tijd().

De tijdstempel die is opgegeven door het tijdstempelargument wordt gebruikt, of de huidige systeemtijd als er geen tijdstempel is opgegeven.

Tijdstempel is dus optioneel en wordt standaard ingesteld op de waarde die door de functie wordt geretourneerd Lijst met parameters Resultaat tekenreekspatroon ( snaar) met datum. Zie opmaakopties hieronder. Er zijn ook verschillende vooraf gedefinieerde datum-/tijdconstanten die kunnen worden gebruikt in plaats van deze parameters. Bijvoorbeeld:.

DATE_RSS
vervangt het sjabloon "D, d M Y H: i: s" De volgende tekens worden herkend in de formaatparameter
Teken in opmaaktekenreeks --- ---
N Beschrijving Voorbeeld van retourwaarde 01 Dag 31
D Dag van de maand, 2 cijfers met voorloopnul Voorbeeld van retourwaarde van Dag naar
J Tekstweergave van de dag van de week, 3 tekens Voorbeeld van retourwaarde 1 Dag 31
l ma Zon Voorbeeld van retourwaarde Dag van de maand zonder voorafgaande nul Dag (kleine letter "L")
Volledige naam van de dag van de week Zondag Voorbeeld van retourwaarde 1 Zaterdag 7 N
Het rangnummer van de dag van de week volgens de ISO-8601-standaard (toegevoegd in PHP 5.1.0) (maandag) tot (Zondag), S, Engels achtervoegsel voor het volgnummer van de dag van de maand, 2 tekens st nl rd J
w of Voorbeeld van retourwaarde 0 e 6 . Gebruikt in combinatie met
U Serienummer van de dag van de week (Zondag) tot 0 Dag 365
(Zaterdag) --- ---
W Serienummer van de dag in het jaar (beginnend bij 0) Van 42 Week
Het serienummer van de week van het jaar conform de ISO-8601 standaard; weken beginnen op maandag (toegevoegd in PHP 4.1.0) --- ---
F Bijvoorbeeld: Voorbeeld van retourwaarde (42e week van het jaar) Dag Maand
j Volledige maandnaam, zoals januari of maart Voorbeeld van retourwaarde 01 Dag 12
M Januari Voorbeeld van retourwaarde December Dag Maandserienummer met voorloopnul
M Afgekorte naam van de maand, 3 tekens Voorbeeld van retourwaarde 1 Dag 12
T jan Voorbeeld van retourwaarde 28 Dag 31
dec --- ---
L Maandserienummer zonder voorafgaande nul 1 Aantal dagen in de opgegeven maand 0 .
Jaar Teken van een schrikkeljaar z, als het jaar een schrikkeljaar is, anders W) behoort tot het vorige of volgende jaar; dan wordt het jaar van die week gebruikt. (toegevoegd in PHP 5.1.0) Voorbeelden: 1999 of 2003
z Serienummer van het jaar, 4 cijfers Voorbeelden: 1999 , 2003
Y Jaarnummer, 2 cijfers Voorbeelden: 99 , 03
Tijd --- ---
A Ante meridiem (Engels: "vóór de middag") of Post meridiem (Engels: "na de middag") in kleine letters ben of p.m
A Ante meridiem of Post meridiem in hoofdletters BEN. of P.M.
B Tijd in internettijdformaat (een alternatief tijdsysteem) Voorbeeld van retourwaarde 000 Dag 999
G Klok in 12-uursformaat zonder voorloopnul Voorbeeld van retourwaarde 1 Dag 12
G Klok in 24-uursformaat zonder voorloopnul Voorbeeld van retourwaarde 0 Dag 23
H Klok in 12-uursformaat met voorloopnul Voorbeeld van retourwaarde 01 Dag 12
H Klok in 24-uursformaat met voorloopnul Voorbeeld van retourwaarde 00 Dag 23
i Minuten met voorloopnul Voorbeeld van retourwaarde 00 Dag 59
S Seconden met voorloopnul Voorbeeld van retourwaarde 00 Dag 59
u Microseconden (toegevoegd in PHP 5.2.2). Houd er rekening mee dat datum() zal altijd terugkeren 000000 , omdat het accepteert een geheel getal ( geheel getal) parameter, terwijl DatumTijd::format() ondersteunt microseconden. Van 654321
Tijdzone --- ---
e Tijdzoneschaalcode (toegevoegd in PHP 5.1.0) Voorbeelden: UTC, GMT, Atlantische Oceaan/Azoren
I(hoofdletter i) Zomertijd teken 1 , als de datum overeenkomt met de zomertijd, 0 anders.
O Verschil met Greenwich Time, in uren Van +0200
P GMT-verschil met dubbele punt tussen uren en minuten (toegevoegd in PHP 5.1.3) Van +02:00
T Afkorting van tijdzone Voorbeelden: EST, MDT ...
Z Tijdzone-offset in seconden. Voor tijdzones ten westen van UTC worden negatieve getallen geretourneerd, en voor tijdzones ten oosten van UTC worden positieve getallen geretourneerd. Voorbeeld van retourwaarde -43200 Dag 50400
Volledige datum/tijd --- ---
C Datum in ISO 8601-formaat (toegevoegd in PHP 5) 2004-02-12T15:19:21+00:00
R Datum in » RFC 2822-formaat Van Do, 21 december 2000 16:01:07 +0200
Hoofdletters zijn anders dan gewone letters Het aantal seconden dat is verstreken sinds het begin van het Unix-tijdperk (het Unix-tijdperk, 1 januari 1970 00:00:00 GMT) Zie ook tijd()

Alle andere tekens die u in de patroonreeks tegenkomt, worden onveranderd afgedrukt in de resultaatreeks. Z keert altijd terug 0 bij gebruik gmdate().

Opmerking:

Omdat de functie in kwestie tijdstempels gebruikt, zoals geheel getal, opmaakteken u is alleen nuttig als u de functie gebruikt date_format() en aangepaste tijdstempels gemaakt met behulp van de functie date_create().

tijdstempel

De optionele tijdstempelparameter is geheel getal tijdstempel, standaard ingesteld op de huidige lokale tijd als er geen tijdstempel is opgegeven. Met andere woorden: de standaardwaarde is gelijk aan het functieresultaat tijd().

Waarden retourneren

Retourneert een opgemaakte datumtekenreeks. Wanneer u een niet-numerieke waarde als parameter doorgeeft, wordt een tijdstempel geretourneerd ONWAAR en er ontstaat een niveaufout E_WAARSCHUWING.

Lijst met wijzigingen

Versie "D, d M Y H: i: s"
5.1.0 Het geldige datumbereik voor tijdstempels is doorgaans 13 december 1901 20:45:54 GMT tot 19 januari 2038 03:14:07 GMT.
5.1.0

(Ze komen overeen met de minimum- en maximumwaarde van een 32-bits geheel getal met teken). Voor PHP-versies lager dan 5.1.0 op sommige besturingssystemen (bijvoorbeeld Windows) was dit bereik echter beperkt tot de datums 01-01-1970 tot 01-19-2038. Fouten gerelateerd aan tijdzones genereren nu niveaufouten En E_STRICT.

5.1.1 E_NOTICE

Voor standaard datum-/tijdformaten zijn er speciale constanten die als formaatparameter kunnen worden opgegeven.

Voorbeelden datum()

Voorbeeld #1 Voorbeelden van functiegebruik
// stel de standaardtijdzone in. Beschikbaar sinds PHP 5.1

date_default_timezone_set("UTC");
// zal zoiets als dit opleveren: maandag

echodatum("l");
// zal zoiets als dit opleveren: maandag 8 augustus 2005 15:12:46 PM

echodatum ("l jS \of F Y h:i:s A" );
// levert op: 1 juli 2000 is op een zaterdag

echo "1 juli 2000 is op een " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* voorbeeld van het gebruik van een constante als opmaakparameter */
// zal zoiets als dit opleveren: wo, 25 september 2013 15:28:57 -0700

echodatum (DATE_RFC2822);
// zal zoiets als dit opleveren: 2000-07-01T00:00:00+00:00
?>

echodatum(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));

Om te voorkomen dat een teken wordt herkend als een opmaakteken, moet u er een backslash aan toevoegen. Als het ontsnapte teken ook een opmaakreeks is, moet het opnieuw worden geëscaped. datum()

Voorbeeld #2 Escape-tekens in een functie
// zal zoiets als dit opleveren: Woensdag de 15e
?>

echodatum ("l \t\h\e jS" ); datum() Om datums uit het verleden en de toekomst weer te geven, is het handig om de functies te gebruiken mktijd().

En datum() Voorbeeld #3 Voorbeeld van het delen van functies mktijd()

En
$morgen = mktime (0 , 0 , 0 , datum ("m" ), datum ("d" )+ 1 , datum ("Y" ));
$vorigemaand = mktime (0, 0, 0, datum ("m" ) - 1, datum ("d" ), datum ("Y" ));
?>

Opmerking:

$nextyear = mktime (0 , 0 , 0 , datum ("m" ), datum ("d" ), datum ( "Y" )+ 1);

Deze methode is betrouwbaarder dan eenvoudigweg seconden aftrekken en toevoegen aan een tijdstempel, omdat indien nodig een flexibele overgang naar zomer-/wintertijd mogelijk is. datum(). Het is belangrijk op te merken dat u alle tekens die u ongewijzigd wilt laten, moet escapen. Dit geldt ook voor de tekens die de huidige versie van PHP niet als opmaak herkent, aangezien dit in toekomstige versies kan worden geïntroduceerd.

Om escape-reeksen (zoals \n) te escapen, moet u enkele aanhalingstekens gebruiken. datum()

Voorbeeld #4 Opmaak met
// Laten we aannemen dat de huidige datum 10 maart 2001, 17:16:18 uur is,

// en we bevinden ons in de tijdzone Mountain Standard Time (MST).
$vandaag = datum ("F j, Y, g:i a" ); // 10 maart 2001, 17:16 uur
$vandaag = date("m.d.y"); // 03.10.01
$vandaag = datum("j, n, Y" ); // 10, 3, 2001
$vandaag = datum("Ymd"); // 20010310 $vandaag = datum ("h-i-s, j-m-y, het is w-dag" );
// 16-05-18, 01-03-10, 1631 1618 6 zapm01
$vandaag = datum ("\i\t \i\s \t\h\e jS \d\a\y." ); // het is de 10e dag. $vandaag = datum ("D M j G:i:s T Y" );
// za 10 maart 17:16:18 MST 2001
$vandaag = datum ("H:m:s \m \i\s\ \m\o\n\t\h" ); // 17:03:18 m is maand
$vandaag = datum("H:i:s"); // 17:16:18 $vandaag = datum ("J-m-d H:i:s" );
?>

// 10-03-2001 17:16:18 (MySQL DATETIME-indeling) datum() Gebruik in plaats daarvan om datums in andere talen op te maken functies En strftijd().

setlocale()

Opmerking:

Opmerkingen Om een ​​tijdstempel te verkrijgen uit een stringweergave van een datum, kunt u de functie gebruiken strtotijd()

. Bovendien hebben sommige databases hun eigen functies om de interne representatie van een datum naar een tijdstempel te converteren (bijvoorbeeld de MySQL »UNX_TIMESTAMP-functie).

Laten we eens kijken hoe we met datums en tijden in PHP kunnen werken.Tijd binnenUnix

-computers

Voor Unix-computers begint de tijd op 1 januari 1970 om middernacht. Elke datum wordt berekend als het aantal seconden (aangegeven door een tijdstempel) dat is verstreken sinds 1 januari 1970. Deze conventies worden ook gebruikt in PHP. Wij willen bijvoorbeeld een dag vooruit gaan. Vervolgens hoeft u alleen maar een tijdstempel van 60×60×24 seconden aan de huidige waarde toe te voegen.

Dit tijdregistratieschema vereenvoudigt de bewerkingen met datums aanzienlijk. Als de ene tijdstempelwaarde bijvoorbeeld groter is dan de andere, komt de eerste waarde overeen met een latere datum dan de tweede.

Tijdseenheden per seconde

De huidige tijd ophalen

Om in PHP de huidige tijdstempelwaarde te krijgen, moet je de functie time() aanroepen zonder parameters, bijvoorbeeld:

Veel PHP-datum- en tijdfuncties gebruiken een tijdstempelwaarde als argument. De functie date() retourneert bijvoorbeeld een datumtekenreeks die is opgemaakt volgens de opgegeven notatie, bijvoorbeeld:tijdstempel Creatie

Functiewelke datum dan ook() maakt een tijdstempel als u het uur, de minuut, de seconde, de dag van de maand, de maand en het jaar opgeeft:

Functiestrtotijd()

De functie genereert een tijdstempel voor de datum die is opgegeven als een zin in het Engels, bijvoorbeeld 1 april of vrijdag.

De datumwaarde moet worden opgegeven in het formaat JJJJ-MM-DD. Als de functie strtotime een datum niet kan converteren, retourneert deze false.

Voorbeelden van het gebruik van de functiedatum()

De ingebouwde functie floor() wordt gebruikt om het fractionele deel van het resultaat weg te gooien.

Bij de eerste lezing kunt u de volgende tekst overslaan

Datumformaten in databasesMySQL

Het tijdstempelformaat in PHP is niet compatibel met het tijdstempelformaat in het MySQL DBMS.

MySQL heeft drie soorten datum- en tijdvelden: DATA (datum), TIME (tijd), DATETIME (datum en tijd). Er is ook een speciaal TIMESTAMP-gegevenstype dat werkt als DATETIME, maar automatisch wordt bijgewerkt naar de huidige tijd wanneer tabelrecords worden ingevoegd of bijgewerkt.

Om tijdstempel in PHP-formaat naar MySQL-formaat te converteren, kunt u de volgende code gebruiken:

Date("J-m-d H:i:s", $timestamp)

We kunnen bijvoorbeeld "2008-10-01 13:23:40" gebruiken als datum en tijd.

Om de PHP-tijdstempel van een SELECT-query te verkrijgen, moet u de UNIX_TIMESTAMP() SQL-functie gebruiken:

SELECT UNIX_TIMESTAMP(datum) FROM tabel

MySQL heeft nog veel meer handige functies voor het werken met datum en tijd.