Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Perfect Lion

Class hora informa tempo de utilização

Recommended Posts

Ola pessoal esse é meu 2 script que posto... ja tou melhorando..=D

 

Bem esses dias eu precisei criar um sistema que verifica-se quanto tempo o kra iria demorar em tal lugar e quebrei a cabeça com isso exite outras maneiras mais simples de fazer mais eu não consegui encontrar e fiz essa maneira...

dessa maneira ainda não tem a função verifica data...então ele so verifica dentro de 24h se for 3 dias ele não vai considerar... =(

Bem mais fica ai para caso alguem ache como fazer isso pois eu ainda estou desenvolvendo... caso você consigo poste aqui para o pessoal =D

 

PHP

[*]<?

[*]/*

[*]Script criado por: 

[*]$Erick Leão->Perfect Lion

[*]v.1.0

[*]esse scrip so ve a data do dia ainda estou criando 

[*]ele mais ja da para brincar caso você altere esse script com 

[*]novas funções poste no forum da imasters

[*]imasters.com.br

[*]*/

[*]class hora{

[*]

[*]//acrecenta o "0"

[*]function cremento($cremento){

[*]if($cremento <= 9){

[*] if($cremento{0} != 0){

[*] $cremento = 0 . $cremento;

[*] }elseif($cremento{0} == 0 && $cremento{1} == 0){

[*] $cremento = 0 . $cremento;

[*] }

[*]}

[*]return $cremento;

[*]} // fecha função cremento

[*]

[*]

[*]function saida($h,$m,$s){

[*]//devine um horario inicial

[*]$hora_inicial["h"] = $h;

[*]$hora_inicial["m"] = $m;

[*]$hora_inicial["s"] = $s;

[*]$conteudo = "Chegada: " . $this->cremento($hora_inicial["h"]) . ":" . $this->cremento($hora_inicial["m"]) . ":" . $this->cremento($hora_inicial["s"]) ."
"
;

[*]

[*]//pega a data do servidor ja dentro de uma array

[*]$hora_final = getdate()

[*]$hora_final["h"] = $this->cremento($hora_final["hours"]);

[*]$hora_final["m"] = $this->cremento($hora_final["minutes"]);

[*]$hora_final["s"] = $this->cremento($hora_final["seconds"]);

[*]

[*]//faz as subtrações dos elementos

[*]$hora_total["h"] = $this->cremento($hora_final["h"] - $hora_inicial["h"]);

[*]$hora_total["m"] = $this->cremento($hora_final["m"] - $hora_inicial["m"]);

[*]$hora_total["s"] = $this->cremento($hora_final["s"] - $hora_inicial["s"]);

[*]$conteudo .= "Saida: " . $hora_final["h"] . ":" . $hora_final["m"] . ":" . $hora_final["s"] . "
"
;

[*]

[*]//printa na tela o tempo que foi utilisado real =)

[*]$conteudo .= "Tempo utilisado: " . $hora_total["h"] . ":" . $hora_total["m"] . ":" . $hora_total["s"];

[*]return $conteudo;

[*]} //fecha função saida

[*]} // fecha class

[*]

[*]$dt = new hora;

[*]echo $dt->saida("220000")//aqui esta tudo junto o horario . minutos . segundos

[*]?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais uma atualisada.... =D

 

Lembrando que essa verção agora tem como você determinar o intervalo de data e hora inicio e final... =D

 

Outra coisa... no servidor windows ele da erro c você colocar a data maior que 2038.. veja o que está escrito aqui..

 

Manuel PHP.net:

Ano pode ser com 2 ou 4 dígitos, com valores entre 0-69 mapeando para 2000-2069 e 70-99 para 1970-1999 (em sistemas onde time_t é um inteiro marcado de 32bit, como a maioria de hoje, uma linha válida Ano é qualquer coisa entre 1901 e 2038).

 

Windows: Timestamp Negativos não são suportados dentro de uma versão conhecida de Windows. Portanto a faixa de anos válidos inclui apenas 1970 a 2038.

 

Mais servidores Linux não tem esse problema =D

 

Breve eu vejo como arrumo isso e posto uma nova verção =D

 

class.php

PHP
/*  

Script criado por:      

$Erick Leão->Perfect Lion    

v.2.5       

novas funções poste no forum da imasters    

imasters.com.br      

*/      

       

class diferenca{       

function cremento($valor){     

if($valor < 10){       

 if($valor{0} == 0){   

 $valor = 0 . $valor;   

 }     

}       

return $valor

}       

function hora($valor1,$valor2,$valor3,$valor4){ 

$valor1 = explode(":",$valor1)

$valor2 = explode("/",$valor2)

$inicio = mktime($valor1[0],$valor1[1],$valor1[2],$valor2[1],$valor2[0],$valor2[2]);   

$horanow = explode(":", $valor3);       

$datanow = explode("/",$valor4);       

$fim = mktime($horanow[0],$horanow[1],$horanow[2],$datanow[1],$datanow[0],$datanow[2])

$tempo = $fim - $inicio;       

$tempo = floor($tempo/(60));   

$horas =0;     

$minutos =0;   

for($i=0; $i<=($tempo -1); $i++){       

$minutos++;     

if($minutos > 59){     

$minutos = 0;   

$horas += 1;   

$h +=1

}       

if($h > (23)){ 

$h =0

$dia += 1;     

}       

}       

$arry = array( 

"d"=>$this->cremento($dia),     

"H"=>$this->cremento($horas),   

"m"=>$this->cremento($minutos)

);     

return $arry;   

}       

}

 

index.php

PHP
/*      

Script criado por:             

$Erick Leão->Perfect Lion      

v.2.5           

novas funções poste no forum da imasters        

imasters.com.br        

*/     

include("class.php");   

$dati = $_POST["datai"];       

$hori = $_POST["horai"];       

$datf = $_POST["dataf"];       

$horf = $_POST["horaf"];       

if($dati == "" && $hori == "" && $datf == "" && $horf == ""){   

$dati = date("d/m/Y")

$hori = date("H:i:s")

$datf = date("d/m/Y")

$horf = date("H:i:s")

}       

?>     

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">       

<html xmlns="http://www.w3.org/1999/xhtml">     

<head> 

<title>Diferença entre horas e data</title>     

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />     

<link href="csshora2.css" rel="stylesheet" type="text/css" />   

</head> 

       

<body> 

<form method="post" action=""

  <div class="fonte">  

     

        <table cellpadding="0" cellspacing="0" class="tb">     

          <tr class="fonte">    

                <td>Hora Inicial:      

                  <input name="horai" type="text" class="campo" id="horai" value="<?= $hori; ?>" />     

                  * 00:00:00<br />     

                  Data Inicial:        

                  <input name="datai" type="text" class="campo" id="datai" value="<?= $dati; ?>" />     

                  * 29/07/2005 </td>   

                <td>Hora Final:        

                  <input name="horaf" type="text" class="campo" id="horaf" value="<?= $horf; ?>" />     

                  * 00:00:00<br />     

                  Data Final:  

                  <input name="dataf" type="text" class="campo" id="dataf" value="<?= $datf; ?>" />     

                  * 29/07/2005 </td>   

          </tr> 

        </table>       

               

          <div class="divcentro">       

          <input type="submit" class="bt" value="enviar" /></div>       

  </div>       

</form> 

<div class="fonte">     

<?php

$dt = new diferenca;   

$format_array = $dt->hora($hori,$dati,$horf,$datf);     

$conteudo = "Dias: " . $format_array["d"] . "<br />";   

$conteudo .= $format_array["H"] . " horas " . $format_array["m"] . " minutos"

echo $conteudo

?>     

<br /> 

<br /> 

<a href="http://validator.w3.org/check?uri=http%3A%2F%2F200.221.162.6%3A4040%2Fteste%2Fhoras2.php"><img src="http://www.w3.org/Icons/valid-xhtml11"  alt="Valid XHTML 1.1!" width="88" height="31"  class="imgborda" /></a>    

</div> 

</body> 

</html>

 

csshora2.css

/*   Script criado por:	$Erick Leão->Perfect Lion   v.2.5	 novas funções poste no forum da imasters   imasters.com.br   */.campo {font-family:Arial, Helvetica, sans-serif;font-size:10px;color:#999;background-color:#F8F8F8;border:1px solid #CCC;}.imgborda {border:none #333;}.fonte,.bt {font-family:Arial, Helvetica, sans-serif;font-size:10px;color:#999;}.tb {	width: 500px;}.divcentro {	text-align: left;}.bt  {	background-color: #F9F9F9;	border: 1px solid #CCCCCC;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.