Zoeken…


getTimestamp

getTimeStemp is een unix-weergave van een datetime-object.

$date = new DateTime();
echo $date->getTimestamp(); 

dit geeft een integer indicatie van de seconden die zijn verstreken sinds 00:00:00 UTC, donderdag 1 januari 1970.

setDate

setDate stelt de datum in een DateTime-object in.

$date = new DateTime();
$date->setDate(2016, 7, 25);

dit voorbeeld stelt de datum in op vijfentwintig juli 2015 en levert het volgende resultaat op:

2016-07-25 17:52:15.819442

Datumintervallen optellen of aftrekken

We kunnen de klasse DateInterval gebruiken om een interval in een DateTime-object toe te voegen of af te trekken.

Zie het onderstaande voorbeeld, waarbij we een interval van 7 dagen toevoegen en een bericht op het scherm afdrukken:

$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";

Dit wordt uitgevoerd (uitgevoerd op 1 augustus 2016):

Samara zegt: Seven Days. Je zult blij zijn op 08-08-2016.

We kunnen de submethode op een vergelijkbare manier gebruiken om datums af te trekken

$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";

Dit wordt uitgevoerd (uitgevoerd op 1 augustus 2016):

Samara zegt: Seven Days. Je was laatst blij op 25-07-2016.

Maak DateTime van aangepaste indeling

PHP kan een aantal datumformaten ontleden. Als u een niet-standaardindeling wilt parseren of als u in uw code expliciet de te gebruiken indeling wilt vermelden, kunt u de statische methode DateTime::createFromFormat gebruiken:

Object georiënteerde stijl

$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);

Procedurele stijl

$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);

Datum afdrukken

PHP 4+ biedt een methode, formaat dat een DateTime-object omzet in een string met een gewenst formaat. Volgens PHP Manual is dit de objectgeoriënteerde functie:

public string DateTime::format ( string $format )

De functie date () heeft één parameter - een opmaak, wat een string is

Formaat

De indeling is een tekenreeks en gebruikt enkele tekens om de indeling te definiëren:

  • Y : viercijferige weergave van het jaar (bijvoorbeeld: 2016)
  • y : tweecijferige weergave van het jaar (bijvoorbeeld: 16)
  • m : maand, als een getal (01 tot 12)
  • M : maand, als drie letters (jan, feb, mrt, enz.)
  • j : dag van de maand, zonder voorloopnullen (1 tot 31)
  • D : dag van de week, als drie letters (ma, di, wo, enz.)
  • h : uur (12-uursnotatie) (01 tot 12)
  • H : uur (24-uursnotatie) (00 tot 23)
  • A : AM of PM
  • i : minuut, met voorloopnullen (00 tot 59)
  • s : tweede, met voorloopnullen (00 tot 59)
  • De volledige lijst is te vinden hier

Gebruik

Deze tekens kunnen in verschillende combinaties worden gebruikt om tijden in vrijwel elk formaat weer te geven. Hier zijn enkele voorbeelden:

$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */

$date->format("H:i");
/* Returns 13:30 */

$date->format("H i s");
/* Returns 13 30 20 */

$date->format("h:i:s A");
/* Returns 01:30:20 PM */

$date->format("j/m/Y");
/* Returns 26/05/2000 */

$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */

procedureel

Het procedurele formaat is vergelijkbaar:

Object-Oriented

$date->format($format)

Procedureel equivalent

date_format($date, $format)

Maak een onveranderlijke versie van DateTime van Mutable voorafgaande PHP 5.6

Gebruik \DateTimeImmutable in PHP 5.6+ als volgt:

\DateTimeImmutable::createFromMutable($concrete);

Voorafgaande PHP 5.6 kunt u gebruiken:

\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow