May
16
2009

Función PHP para transformar fechas formateadas a unixtime.
Escrito por NomikOS el 16/May/2009 | 133 visitas

Función para transformar fechas formateadas a unixtime. En este historico momento son las:

1
2
3
4
<?php
echo time();
# 1242485685
?>

Unixtime es el tiempo en segundos desde el 1/1/1970 y es muy útil para almacenar y procesar fechas.
Por lo mismo no es adecuado para fechas anteriores. Por ejemplo para fechas de nacimiento.

Suponemos fechas con formato:

mes-dia-año hora:minutos

Pero puede ser cualquier otro. Sólo modifica donde sea necesario: en el primer argumento de date().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

function makeUnixtime($date, $sep = ' ')
{
    # retornamos siempre un entero
   if ( ! $date)
        return 0;

    $date = explode($sep, $date);

    # a veces hay fechas del tipo: Hoy 12:50
   if ($date[0] == 'Hoy')
        # en tal caso determinamos m-d-y sin la hora
       $date[0] = date("m-d-y", time());
    else if ($date[0] == 'Ayer')
        # lo mismo pero 12 horas antes
       $date[0] = date("m-d-y", time() - 3600 * 12);

    $date1 = explode('-', $date[0]);
    $date2 = explode(':', $date[1]);

    # ahora date1 es un array que contiene: mes, dia, año
   # ahora date2 es un array que contiene: hora, minutos
   # usamos mktime con: hora, minutos, 0segundos, mes, dia, año
   $date = mktime($date2[0], $date2[1], 0, $date1[0], $date1[1], $date1[2]);

    # retornamos siempre un entero
   return is_integer($date) ? $date : 0;
}
?>

Ejemplo de uso:

1
2
3
4
5
<?php
$unixtime = makeUnixtime('Ayer 03:55');
$unixtime = makeUnixtime('05-01-08 08:11');
$unixtime = makeUnixtime('12-18-08, 3:59', ', ');
?>

Posts relacionados:

  1. La función explode es sensible a mayúsculas y minúsculas.
  2. Función PHP para depurar.
  3. Función PHP para reinvertir BBCode.
  4. Función PHP para obtener IP del cliente.

Escrito por NomikOS en PHP, May 16 - 2009 @ 10:59 hrs. Tags: , | 133 visitas

RSS feed para comentarios en este post

TrackBack URL

Deja un comentario

XHTML: Etiquetas permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

motor: WordPress. tema: TheBuckmaker modificado por NomikOS.