PHP
Datetime Class
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());