Sök…


getTimestamp

getTimeStemp är en unixrepresentation av ett datetime-objekt.

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

detta kommer att sätta en heltalsindikering av de sekunder som har gått sedan 00:00:00 UTC, torsdag 1 januari 1970.

bestämma datum

setDate anger datumet i ett DateTime-objekt.

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

detta exempel anger datumet till den tjugofemte juli 2015, det kommer att ge följande resultat:

2016-07-25 17:52:15.819442

Lägg till eller subtrahera datumintervall

Vi kan använda klassen DateInterval för att lägga till eller subtrahera ett intervall i ett DateTime-objekt.

Se exemplet nedan, där vi lägger till ett intervall på 7 dagar och skriver ut ett meddelande på skärmen:

$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.";

Detta kommer att matas ut (körs 1 augusti 2016):

Samara säger: sju dagar. Du blir glad den 08-08-2016.

Vi kan använda submetoden på ett liknande sätt för att subtrahera datum

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

Detta kommer att matas ut (körs 1 augusti 2016):

Samara säger: sju dagar. Du var glad senast den 25 juli 2016.

Skapa DateTime från anpassat format

PHP kan analysera ett antal datumformat . Om du vill analysera ett icke-standardformat, eller om du vill att din kod uttryckligen anger det format som ska användas, kan du använda den statiska DateTime::createFromFormat metoden:

Objektorienterad stil

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

Procedurstil

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

Skriv ut DateTimes

PHP 4+ tillhandahåller en metod, ett format som konverterar ett DateTime-objekt till en sträng med önskat format. Enligt PHP Manual är detta den objektorienterade funktionen:

public string DateTime::format ( string $format )

Funktionsdatumet () tar en parameter - ett format, som är en sträng

Formatera

Formatet är en sträng och använder enstaka tecken för att definiera formatet:

  • Y : fyrsiffrig representation av året (t.ex. 2016)
  • y : tvåsiffrig representation av året (t.ex. 16)
  • m : månad, som ett nummer (01 till 12)
  • M : månad, som tre bokstäver (Jan, Feb, Mar, etc)
  • j : månad i månaden, utan ledande nollor (1 till 31)
  • D : veckodag, som tre bokstäver (mån, tis, ons, etc)
  • h : timme (12-timmarsformat) (01 till 12)
  • H : timme (24-timmarsformat) (00 till 23)
  • S : antingen AM eller PM
  • i : minut, med ledande nollor (00 till 59)
  • s : sekund, med ledande nollor (00 till 59)
  • Den fullständiga listan finns här

Användande

Dessa tecken kan användas i olika kombinationer för att visa tider i praktiskt taget vilket format som helst. Här är några exempel:

$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 */

procedur~~POS=TRUNC

Processformatet är liknande:

Objektorienterad

$date->format($format)

Procedurekvivalent

date_format($date, $format)

Skapa immutable version av DateTime från Mutable tidigare PHP 5.6

För att skapa \DateTimeImmutable i PHP 5.6+ använd:

\DateTimeImmutable::createFromMutable($concrete);

Före PHP 5.6 kan du använda:

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow