Imshy 0 Denunciar post Postado Fevereiro 22, 2008 Pessoal, já existe uma função no php que transforma minutos, horas, dias (e assim por diante) em segundos? Lembrando que a mktime me retorna em segundos a partir de uma data já definida por eles, só lembro o ano que é 1970. Alguém pode ajudar? =] Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 22, 2008 Tem que fazer as multiplicações manualmente. O PHP só gera os timestamps, como você disse. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Souza 0 Denunciar post Postado Fevereiro 22, 2008 Imshy (envergonhado[a] ??), tem como sim, sabendo que o dia possui 24horas 24*60 = 1440 dia*minutos = minutos 1440*60=86400 minutos*segundos=segundos diarios a mais e ai como eu faco pra resolver, tenho o conteudo so de um dia, eu passei por esse perrengue. usei a DATA JULIANA, que é uma forma de usar os dias corridos do ano, muito usado em astronomia e em uma miseravel operadora de cartao de credito que precisava saber qual o dia corrido da venda, mais retornando... ...eu perdi meu font que fazia isto, vou refazelo e ja posto aki, mais a ideia é essa fazer o calculo de dias corridos * 86400. mais ai você vai falar, nao quero saber quantos segundos teve o ano, e sim entre determinada data, ai vamos usar a cabeca faz dois calculos, subtrai o resultado do segundo menos o do primeiro, vai ter os dias e você faz a multiplicacao. segue meu codigo pra saber o dia corrido do ano. ressaltando o Ano Bissexto que estamos, entao o $f mais abaixo tem que alterar para 29, ok. <? $date4 = date("d"); $date3 = date("m"); $date2 = date("Y"); $date2= substr ( $date2, 0, 4 ); echo "Hoje é $date4/$date3/$date2<br>"; $m1=31; $m2=30; $f=28; $ano=365; if ($date3>=01 and $date3<02){ $ddd=$ano-31; $mes=$m1; } if ($date3>=02 and $date3<03){ $ddd=$ano-59; $mes=$f; } if ($date3>=03 and $date3<04){ $ddd=$ano-90; $mes=$m1; } if ($date3>=04 and $date3<05){ $ddd=$ano-120; $mes=$m2; } if ($date3>=05 and $date3<06){ $ddd=$ano-151; $mes=$m1; } if ($date3>=06 and $date3<07){ $ddd=$ano-181; $mes=$m2; } if ($date3>=07 and $date3<08){ $ddd=$ano-211; $mes=$m1; } if ($date3>=08 and $date3<09){ $ddd=$ano-242; $mes=$m1; } if ($date3>=09 and $date3<10){ $ddd=$ano-272; $mes=$m2; } if ($date3>=10 and $date3<11){ $ddd=$ano-303; $mes=$m1; } if ($date3>=11 and $date3<12){ $ddd=$ano-333; $mes=$m2; } if ($date3>=12 and $date3<1){ $ddd=$ano-365; $mes=$m1; } $julian=$mes-$date4; $julian=$julian+$ddd-1; echo "Faltam $julian dias para terminar o ano"; $dj=$ano-$julian; echo "<br>Hoje é o $dj dia do ano <br>"; echo " 365 - $julian = $dj"; ?> entao como dizem nao de o peixe ensine a pescar, espero ter ajudado Compartilhar este post Link para o post Compartilhar em outros sites
Imshy 0 Denunciar post Postado Fevereiro 22, 2008 Vlw a ajuda, Marlon. =D Mas fiz como você disse no início, calculei mesmo. Segue como ficou (ficou simples até): CODE public function toSeconds( $valor, $tipo ) { switch( $tipo ){ case 'min': $result = $valor * 60; break; case 'hr': $result = $valor * 60; $result = $result * 60; break; case 'd': $result = $valor * 24; $result = $result * 60; $result = $result * 60; break; } return $result; } Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Souza 0 Denunciar post Postado Fevereiro 22, 2008 que bom que conseguiu resolver. fico muito contente qdo consigo resolver ou ajudar a resolver um problema. Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Fevereiro 22, 2008 Cara, basta fazer uma regra de três mais avançada e usar fatores de conversão =). Mas esse tipo de material você ja deve encontrar por ai. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
narizgudo 0 Denunciar post Postado Fevereiro 22, 2008 Acho que assim é bem mais facil... Você define a variável $data_base como sendo sua data base para o calculo, pega o valor em segundos da $data_alvo e dps pega a diferença... simples =D <? $data_base = mktime(0,0,0,2,1,2008); $data_alvo = time(); echo "Desde 01/02/2008 já se passaram ".($data_alvo-$data_base)." segundos."; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Fevereiro 22, 2008 Sim, pensei que ele quisesse um conversor global e não partindo de uma data especifica, mas fica legal =). Compartilhar este post Link para o post Compartilhar em outros sites
Imshy 0 Denunciar post Postado Fevereiro 22, 2008 UHuaheuehuaheuaheuah Acho que só quem entendeu o que eu queria, foi o Beraldo =] Eu só quero converter Minuto OU hora OU dia OU mês para segundos =D E isso eu fiz com o código que eu postei mais acima ^^ Mas brigado pela ajuda de todos http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Tacno 2 Denunciar post Postado Julho 16, 2012 existe a função gmdate() funciona assim $tempo = $_SERVER['REQUEST_TIME']; echo gmdate("H:i:s", $tempo); não sei se funciona nas versões anteriores a 5. Mas na 5 funciona! =DDD Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 16, 2012 @Tacno, bem vindo de volta ao iMasters. Agradecemos por compartilhar seu conhecimento conosco. Continue colaborando em tópicos mais recentes. Atenciosamente. Compartilhar este post Link para o post Compartilhar em outros sites