<?
/********************************************
Autor: Zubyc
Funciones variadas
para manejo de fechas:
Cuando insertamos en una base
de datos una fecha en formato DATE o DATETIME,
nos
encontramos con que el formato usado es distinto al que estamos acostumbrados
Base
de datos
MySQL Nosotros :)
2002-06-22 22-06-2002
Debido a esto, no podemos mostrar directamente el
campo fecha en nuestra
web porque no saldría como
queremos.
La mayoría de funciones que hay a
continuación son para mostrar representaciones
de fechas a
partir del formato DATE o DATETIME.
No son especialmente
brillantes pero funcionan y pueden resultar útiles.
Con el
tiempo, las iré mejorando e incluso haré una clase para el manejo
de fechas, pero mientras, quedaros con estas :)
Para cualquier duda: zorelake@hotmail.com
Podeis encontrar cosas tan sencillas como éstas o
bien más complicadas en:
http://php-hispano.net
**********************************************************/
/*******************************************************
Función fecha_pasada()
Calcula si han pasado un número determinado de
días a partir de una fecha dada
Entrada: - Fecha
en formato DATETIME -> YYYY-MM-DD HH:MM:SS
-
Número de dias
Salida: -
true : Han pasado esos dias desde la fecha dada.
-
false : Los dias introducidos todavía no han pasado.
*************************************************************/
function fecha_pasada ($datetime, $dias) {
// YYYY-MM-DD HH:MM:SS
$y = substr ($datetime, 0, 4); $mo = substr ($datetime, 5, 2);
$d = substr ($datetime, 8, 2); $h = substr ($datetime, 12, 2);
$m = substr ($datetime, 15, 2); $s = substr ($datetime, 18, 2);
$time = time () - mktime ($h, $m, $s, $mo, $d, $y);
if ($time > $dias * 24 * 60 * 60) {
return true;
} else {
return false;
}
}
/****************************************************
Funcion obtener_fecha_texto()
Convierte una fecha a texto, pasando los meses
de números a palabras
( 1 -> Enero, 2->
Febrero,...)
Entrada: Fecha en formato DATE
-> YYYY/mm/dd
Salida: Cadena de texto del tipo:
"12 de Febrero del 2002"
**************************************************************/
function obtener_fecha_texto($fecha)
{
$nombres_mes=array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" );
$ano=substr($fecha,0,4);
$mes=substr($fecha,5,2);
$dia=substr($fecha,8,2);
$dia=(integer)$dia;
$mes=(integer)$mes;
$mes=$nombres_mes[$mes];
$cadena=$dia." de ".$mes." del ".$ano;
return($cadena);
}
/**************************************************************
Función
obtener_fecha_dmY -> SALIDA:
20/07/2002
A partir de una fecha en formato DATE
(YYYY-mm-dd)
devuelve una cadena de texto del
tipo: 20/07/2002
*****************************************************************/
function obtener_fecha_dmY($fecha)
{
$nombres_mes=array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" );
$ano=substr($fecha,0,4);
$mes=substr($fecha,5,2);
$dia=substr($fecha,8,2);
$dia=(integer)$dia;
$mes=(integer)$mes;
$mes=$nombres_mes[$mes];
$cadena=$dia."/".$mes."/".$ano;
return($cadena);
}
/******************************************************************
Función
obtener_fecha_hora -> SALIDA:
20/07/2002 23:40
A partir de una fecha en formato
DATETIME (YYYY-mm-dd HH:MM:SS)
devuelve una cadena de
texto del tipo: 20/07/2002 23:40
********************************************************************/
function obtener_fecha_hora($fecha)
{
$ano=substr($fecha,0,4);
$mes=substr($fecha,5,2);
$dia=substr($fecha,8,2);
$hora=substr($fecha,11,5);
$cadena="$dia/$mes/$ano $hora";
return($cadena);
}
/**********************************************************************
Función obtener_fecha_hora_texto -> SALIDA:
12 de Marzo del 2002 a las 13:45
A partir de una fecha
en formato DATETIME (YYYY-mm-dd HH:MM:SS)
devuelve una
cadena de texto del tipo: 12 de Marzo del 2002 a las 13:45
****************************************************************************/
function obtener_fecha_hora_texto($fecha)
{
$nombres_mes=array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" );
$ano=substr($fecha,0,4);
$mes=substr($fecha,5,2);
$dia=substr($fecha,8,2);
$dia=(int)$dia;
$mes=(int)$mes;
$mes=$nombres_mes[$mes];
$hora=substr($fecha,11,5);
$cadena="$dia de $mes del $ano a las $hora";
return($cadena);
}
?>