Convertir time a timestamp en PHP
Si nuestra base de datos nos devuelve una fecha en formato ingles (2010-02-07 11:11:24) y queremos adaptarla para que el date nos devuelva el formato deseado hemos de convertirla antes a timestamp o formato Unix. Para ello usaremos la funcion strtotime:
strtotime — Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
int strtotime ( string $time [, int $now ] )
<?phpecho strtotime($fecha), "\n";echostrtotime("now"), "\n";echostrtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week"), "\n"; echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; echo strtotime("next Thursday"), "\n"; echo strtotime("last Monday"), "\n"; ?>
Estos ejemplos devuelven el timestamp de la fecha que le pasamos, ya sea la actual o sea en una variable. Posteriormente con el time o date podremos convertirla.
Fuente: PHP.NET
También podemos usar dos variables que nos pueden ser utiles: strptime y strftime
strptime() devuelve una matriz con la fecha date analizada, o FALSE si se produjo un error.
array strptime ( string $date , string $format )
print_r(strptime('15/06/2010 15:54:19','%d/%m/%Y %H:%M:%S'));Array ( [tm_sec] => 19 [tm_min] => 54 [tm_hour] => 15 [tm_mday] => 15 [tm_mon] => 5 [tm_year] => 110 [tm_wday] => 0 [tm_yday] => 0 [unparsed] => )
| parámetros | Descripción |
|---|---|
| “tm_sec” | Segundos después del minuto (0-61) |
| “tm_min” | Minutos después de la hora (0-59) |
| “tm_hour” | Hora desde la medianoche (0-23) |
| “tm_mday” | Día del mes (1-31) |
| “tm_mon” | Meses desde Enero (0-11) |
| “tm_year” | Años desde 1900 |
| “tm_wday” | Días desde el Domingo (0-6) |
| “tm_yday” | Días desde el 1 de Enero (0-365) |
| “unparsed” | la parte de date que no fue reconocida usando el formato format especificado |
Fuente: PHP.NET
strftime — Formatea una fecha/hora local según la configuración regional
string strftime ( string $format [, int $timestamp = time() ] )
setlocale(LC_TIME, "es_ES")
Fuente: PHP.NET



Últimos comentarios