Undrar du hur man kan omvandla data från en kolumn i MySQL med datetime som datatyp till antalet sekunder från "epoch" (1970-01-01)? Det undrade jag och nu tänker jag dela med mig av lösningen.
Jag gillar att programmera med PHP och utveckla dynamiska hemsidor tillsammans med MySQL som backbone. Just nu för en liten stund sedan letade jag efter en lösning för att omvandla datetime till sekunder för att enklare formatera datum med PHP funktionen date().
Notis:
Jag vet att det finns utmärkta lösningar inbyggda i MySQL men i koden jag använder nu går det inte att lösa på det sättet. Det datum som returneras från databasen är alltid i formatet yy-mm-dd tt:mm:ss
<?php
echo strtotime('2010-03-24 12:26:00') .'<br/>';
echo strtotime('2010-03-24 12:27:00') .'<br/>';
// Resultat
// 1269458760
// 1269458820
// Verifiera att det fungerar
echo date('Y-m-d H:i:s', strtotime('2010-03-24 12:27:00') ) .'<br/>';
// Resultat
// 2010-03-24 12:27:00
// Ett annat format
echo date('l F j, Y, G:i', strtotime('2010-03-24 12:27:00'));
// Resultat
// Wednesday March 24, 2010, 12:27
?>
Men för er som verkligen vill lösa det på MySQL-viset kommer här ett exempel:
// Skriver ut 1269458820
SELECT UNIX_TIMESTAMP('2010-03-24 12:27:00')
Ganska enkelt eller hur? Vill ni veta mer om funktionen strtotime() [1] i PHP så hittar ni information i den grymma dokumentationen på www.php.net [2]
Lycka till med programmeringen
Referenser
[1] www.php.net/manual/en/function.strtotime.php
[2] www.php.net
Inga kommentarer:
Skicka en kommentar