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).' à '.date('H:i:s', 1234567890);