Re: Problema con fechas

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: Eduardo <edukoski(at)montevideo(dot)com(dot)uy>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, php_es(at)gruposyahoo(dot)com(dot)ar, php-cast(at)elistas(dot)net
Subject: Re: Problema con fechas
Date: 2006-07-29 05:54:45
Message-ID: c2d9e70e0607282254ld71da2l7586037fe6dc457a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> Dado un dia cualquiera debo levantar la semana anterior (lunes anterior a
> domingo anterior) y promediar los datos de esa semana.
> Se me ocurrio dada una fecha calcular que dia de la semana es y ya luego
> restarle lo que corresponda para llegar a saber que dia fue domingo y alli
> regresar operando a recuperar el lunes de la semana anterior. El problema se
> da para calcular fechas menores al dia 7 de cada mes. Por ejemplo si el dia
> es jueves 6 le resto 4 (5° dia de la semana - 1) y se que la fecha del
> domingo fue 2, pero a la hora de recuperar el lunes anterior debo trabajar
> con 30 si los meses son de 30 o 31 si asi lo son ademas de trabajar con 28
> en febrero o 29 si fue bisiesto. La verdad he intentado varias maneras y
> ninguna me da.
> Solicito alguna sugerencia al respecto o de lo contrario si existen algunas
> funciones en PostgreSQL que desconozco para trabajar con estos problemas de
> fechas.
>

http://www.postgresql.org/docs/8.1/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT

no veo para que te complicas.

template1=# select date_part('dow', '2006-07-29'::date - 7);
date_part
-----------
6
(1 row)

y si quieres saber si un año fue bisiesto:

select date_part('day', '2006-03-01'::date - 1);
if dia = 29 then 'bisiesto' else 'no bisiesto' endif;

implementa esto en el lenguaje de tu eleccion

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message upch44 2006-07-29 13:12:44 Sobre PGSQL y ANSI SQL 92
Previous Message Jaime Casanova 2006-07-29 05:45:44 Re: ¿Alguien Sabe Como no duplicar codigo sin tener que llamar un procedure?