Juan Rabadan

5May/104

Funciones para extender el date helper en CodeIgniter

Hola a todos quiero compartir con ustedes estas funciones que utilizo a diario en mis proyectos de CodeIgniter. Las mismas están referidas a la manipulación de fechas y es muy buena idea extender el date helper de codeigniter con las mismas.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* Agregar a una fecha dias, meses o años */
function date_add($givendate,$day=0,$mth=0,$yr=0)
{
    $cd = strtotime($givendate);
    return date('Y-m-d', mktime(date('h',$cd), date('i',$cd), date('s',$cd), date('m',$cd)+$mth,  date('d',$cd)+$day, date('Y',$cd)+$yr));
}
 
/* calcular la diferencia entre dos fechas */
function date_diff($start_date,$end_date,$format = 'd')
{
    $start_date = strtotime($start_date);
    $end_date = strtotime($end_date);
 
    switch ($format)
    {
       //seconds
       case "s":
           return floor(($end_date-$start_date));
       //minutes
       case "i":
            return floor(($end_date-$start_date)/60);
       //hours
       case "h":
            return floor(($end_date-$start_date)/3600);
       //days
       case "d":
            return floor(($end_date-$start_date)/86400);
       //months
       case "m":
            return floor(($end_date-$start_date)/2628000);
       //years
       case "y":
            return floor(($end_date-$start_date)/31536000);
       //days
       default:
            return floor(($end_date-$start_date)/86400);
       }
}
 
/* conocer la hora exacta de un determinado timezone */
function get_date($timezone = 'America/New_York', $full_date_time = false)
{
      date_default_timezone_set($timezone);
      $date = ($full_date_time) ? date('D,F j, Y, h:i:s A') : date('Y-m-d');
      date_default_timezone_set('UTC');
      return $date;
}

Artículos relacionados:

  1. Funciones para incluir en nuestros helpers de codeigniter
  2. Colección de screencast sobre CodeIgniter
  3. Sitio offline por mantenimiento
  4. Entornos de configuración dinámica
  5. Personalizando la estructura de carpetas
Comentarios (4) Trackbacks (0)
  1. Excelente! Justo estaba buscando esto…
    Saludos desde Costa Rica

  2. Excelente voy a usarlas….

  3. y para q queres el email?

  4. Vientos jalan de maravilla.


Comenta esta nota


No trackbacks yet.