Foros del Web » Programando para Internet » PHP »

Nº de dia (1-365) a Timestamp

Estas en el tema de Nº de dia (1-365) a Timestamp en el foro de PHP en Foros del Web. Hola que tal a todos. Les cuento: En little proyecto en que estoy, ya tengo la informacion guardada en una bd que contiene los siguiente ...
  #1 (permalink)  
Antiguo 20/01/2007, 16:59
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Nº de dia (1-365) a Timestamp

Hola que tal a todos.
Les cuento:
En little proyecto en que estoy, ya tengo la informacion guardada en una bd que contiene los siguiente campo. (Numero_dia y Año ).
Numero Dia contiene el numero del dia del año (osea de 1 a 366)
Año : Contiene el año (2007).

Lo que necesito, esque con estos dos datos (Numero de dia del Año) y el Año, obtener el timestamp de esta fecha.

Un ejemplo practico, ¿ Cual es el timestamp del dia 278 del Año 2006) ?
(mktime no nos sirve, ya que necesita una fecha completa ej : 21:34 02/04/2006)
Alguien tiene alguna funcion practica que me resuelva el problema
He googleado muxo pero no encuentro :(

Esta mas que decir, que no es una alternativa cambiar la estructura de la tabla de la bd. Ya que hay muxos datos almacenados de esta forma :P
  #2 (permalink)  
Antiguo 20/01/2007, 18:24
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 4 meses
Puntos: 9
Re: Nº de dia (1-365) a Timestamp

bueno no es dificil...

Código PHP:
<?
$dias 
278;
$anio 2006;

$base mktime (120011$anio);

$plus $dias 24 60 60 ;

$tiempo $base $plus;

echo 
date('d/m/y',$tiempo);
?>
  #3 (permalink)  
Antiguo 22/01/2007, 06:52
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Nº de dia (1-365) a Timestamp

Jeje cuando aplique la funcion
me di cuenta que todas las fechas tenian un dia de mas :P

Es por que la funcion ya comienza con un dia ( a las 12:00 del dia 1 de Enero del Año X ), entonces al sumarle el plus le agregamos un dia mas.

Solucion, al principio $dia-- o quitarle los segundos de un dia al $tiempo.

Código PHP:
function nday_to_time($dias,$anio)
{
    
$undia=24 60 60;
$base mktime (120011$anio);

$plus $dias 24 60 60 ;

$tiempo = ($base $plus-$undia);

return 
$tiempo;
 
    

De todas formas viejo, el credito de la mini funcion es tuya :)
  #4 (permalink)  
Antiguo 22/01/2007, 08:21
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 4 meses
Puntos: 9
Re: Nº de dia (1-365) a Timestamp

tenes razon, no me di cuenta. Suerte ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.