Converteer tijdstempel naar leesbare datum/tijd PHP

Ik heb een tijdstempel opgeslagen in een sessie (1299446702).

Hoe kan ik dat omzetten naar een leesbare datum/tijd in PHP? Ik heb srttotime, enz. geprobeerd zonder resultaat.


Antwoord 1, autoriteit 100%

Gebruik de date()-functie van PHP.

Voorbeeld:

echo date('m/d/Y', 1299446702);

Antwoord 2, autoriteit 21%

strtotime maakt van een datumreeks een tijdstempel. Je wilt het tegenovergestelde doen, namelijk datum. Het typische mysql-datumformaat is date('Y-m-d H:i:s');Kijk in de handleiding voor wat andere letters vertegenwoordigen.

Als je een tijdstempel hebt dat je wilt gebruiken (blijkbaar wel), is dit het tweede argument van date().


Antwoord 3, autoriteit 17%

Ik heb zojuist H:i:s toegevoegd aan het antwoord van Rocket om de tijd en de datum te krijgen.

echo date('m/d/Y H:i:s', 1299446702);

Uitvoer: 03/06/2011 16:25:02


Antwoord 4, autoriteit 13%

$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';
$date = new \DateTime();
// If you must have use time zones
// $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);

resultaat: 2016-06-07 14:29:00

Andere tijdzones:


Antwoord 5, autoriteit 6%

Als je PHP date()gebruikt, kun je deze code gebruiken om de datum, tijd, seconde, etc. te krijgen.

$time = time();               // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds

Antwoord 6, autoriteit 4%

Ik weet dat dit een oude vraag is, maar hij staat hoog in de zoekresultaten.

Als iemand tijdstempelconversie rechtstreeks naar een DateTime-object wil, is er een eenvoudige one-liner:

$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);

Na de opmerking van @sromero wordt de tijdzoneparameter (de derde parameter in DateTime::createFromFormat()) genegeerd wanneer de unix-tijdstempel wordt doorgegeven, dus de onderstaande code is niet nodig.

$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored

Je kunt de PHP-handleiding voor DateTime::createFromFormatraadplegen voor meer informatie en opties.


Antwoord 7, autoriteit 3%

Probeer het.

<?php
 $timestamp=1333342365;
 echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
 ?>

Antwoord 8, autoriteit 3%

Probeer deze:

echo date('m/d/Y H:i:s', 1541843467);

Antwoord 9, autoriteit 3%

$epoch = 1483228800;
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

In de bovenstaande voorbeelden zijn “r” en “Y-m-d H:i:s” PHP-datumnotaties, andere voorbeelden:

Uitvoer opmaken

r              -----    Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c              -----    2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y          -----    Mar/15/2017
d-m-Y          -----    15-03-2017
Y-m-d H:i:s    -----    2017-03-15 12:00:00

Antwoord 10, autoriteit 2%

Je kunt dit proberen:

  $mytimestamp = 1465298940;
   echo gmdate("m-d-Y", $mytimestamp);

Uitvoer:

07-06-2016


Antwoord 11, autoriteit 2%

Tenzij je een aangepaste datum- en tijdnotatie nodig hebt, is het gemakkelijker, minder foutgevoelig en leesbaarder om een van de ingebouwde constanten voor datum-tijdnotatie:

echo date(DATE_RFC822, 1368496604);

Antwoord 12

echo date("l M j, Y",$res1['timep']);
Dit is echt goed voor het converteren van een Unix-tijdstempel naar een leesbare datum, samen met de dag. Voorbeeld:
Donderdag 7 juli 2016


Antwoord 13

echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);

Other episodes