• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

WoOo

Achar o meio de uma data

4 mensagens neste tópico

Viva!

Estou com um problema na manipulação de datas...

Passo a explicar a situação...

O utilizador indica uma data fim e data inicio, por exemplo Start Date: 22-03-2008 / End Date: 05-05-2008

Preciso agora de achar o meio deste espaço temporal para ter 2 periodos de tempo iguais dentro do maior, por exemplo (pois nao fiz as contas):

1ºPeriodo = 22-03-2008 - 15-04-2008

2ºPeriodo = 16-04-2008 - 05-05-2008

Já agora estou em C#.net 3.5

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Contas os dias entre as duas datas, divides por 2 e adicionas o resultado à data inicial.

Como não percebo patavina de C#, aqui vai em Perl:

#!/usr/bin/perl 
use strict;
use warnings;
use DateTime;
my $data1 = DateTime->new( year => 2008, month => 3, day => 22 );
my $data2 = DateTime->new( year => 2008, month => 5, day => 5 );
print $data1->add(
    days => ( $data1->DateTime::delta_days($data2)->{days} / 2 ) )->dmy;

--------
output:
13-04-2008

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui dar a volta...

Depois de ter o timespan divido por 2 e saco o numero de dias...depois so preciso de adicionar à datainicio e fico com a data intermedia!

Obrigado, Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora