Jump to content


Photo

Calcular Data


  • Faça o login para participar
5 replies to this topic

#1 salsa

salsa

    Normal

  • Usuários
  • 93 posts
  • Sexo:Não informado
  • Localidade:Porto Alegre

Posted 20/05/2009, 22:49

Seguinte galera,

Tenho uma data no formato: dd/mm/YYYY
e a hora no formato: hh:mm:ss

ex... 20/05/2009
22:47:35


Gostaria de pegar essa data e essa hora... acrescenter + 1hora e meia nessa data/horario

e pegar a partir da data e hora atual... qnto falta pra chegar a data limite...


nao sei se vcs entenderam...
ex uma prova...

ela começou nessa data e horario... e termina daqui 1 hora e meia :)


alguem sabe como posso fazer?

:P
+ www.rafinha.org

#2 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 20/05/2009, 23:23

mktime!

#3 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 21/05/2009, 14:13

O que seria essa data limite?

data1 = 20/05/2009 22:47:35
data2 = 21/05/2009 24:17:35 // + 1:30

data_limite = ?
E qual data deve ser comparada com a data_limite? a data1 ou data2?

Até mais ^_^

Edição feita por: Dudu, 21/05/2009, 14:13.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#4 salsa

salsa

    Normal

  • Usuários
  • 93 posts
  • Sexo:Não informado
  • Localidade:Porto Alegre

Posted 21/05/2009, 14:39

Opa dudu,

Então... eu quero apenas pegar uma data e hora... e acrescentar 1 hora e meia nessa data ... e que ele me mostre qual data e hora seria da data q eu coloquei + 1 hora e meia tendeu?

:)
+ www.rafinha.org

#5 leonelbr

leonelbr

    12 Horas

  • Usuários
  • 205 posts
  • Sexo:Masculino

Posted 21/05/2009, 14:45

FalAe!

Pelo que entendi:

Tempo prova: 1h
Inicio prova: 10:00
Hora atual (que abrir a página): 10:45

Daí quer que apareça:

Restam 15 minutos para o fim da prova. E ficar em contagem regressiva...

------------- edit -----------------

Lá no manual do PHP tem algo que acho que te ajuda.


<?php
function utime_add($unixtime, $hr=0, $min=0, $sec=0, $mon=0, $day=0, $yr=0) {
  $dt = localtime($unixtime, true);
  $unixnewtime = mktime(
	  $dt['tm_hour']+$hr, $dt['tm_min']+$min, $dt['tm_sec']+$sec,
	  $dt['tm_mon']+1+$mon, $dt['tm_mday']+$day, $dt['tm_year']+1900+$yr);
  return $unixnewtime;
}
?>

Como não sou muito bom com o PHP, não sei exatamente como utilizar. Mas... :rolleyes:

Edição feita por: leonelbr, 21/05/2009, 14:58.

FLASH FORWARD - Novo seriado da ABC. Um substituto para LOST?
Série de ficção cientifica que promete arrastar muitos fãs, principalmente os de Lost. Confira mais em:
www.flashforwardbr.com
-------------------------------------------------------------------------------------------------
Portal Evangélico ( AMIZADE | Downloads | Cartões Virtuais )

#6 salsa

salsa

    Normal

  • Usuários
  • 93 posts
  • Sexo:Não informado
  • Localidade:Porto Alegre

Posted 21/05/2009, 19:01

bom resolvi desse jeito aqui...
valeu pelo help povo :)

// Hora
	$time = explode(":", $count['contador_hora']);
	// Data
	$data = explode("/", $count['contador_data']);
	
	$data_ini = mktime($time[0], $time[1], $time[1], $data[0], $data[1], $data[2]);
	
	// -----------------------------------
	// Incrementa 90 minutos
	// 1 hora e meia para final da prova
	// -----------------------------------
	$data_fim = mktime($time[0], $time[1]+90, $time[1], $data[0], $data[1], $data[2]);
	
	$calcula = ($data_fim - mktime());
	
	$hour = intval($calcula/3600);
	$min = intval(($calcula%3600)/60);
	$sec = intval(($calcula%3600)%60);
	
	if ($hour < 10 ){$hour='0'.$hour;}
	if ($min < 10 ){$min='0'.$min;}
	if ($sec < 10 ){$sec='0'.$sec;}
	
	print (strlen($sec) >= 3) ? "timeout" : $hour.":".$min.":".$sec;

Edição feita por: salsa, 21/05/2009, 19:01.

+ www.rafinha.org




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq