Ir para conteúdo

POWERED BY:

Arquivado

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

Alessandro Ramos

Verificar o horário e soma-lo a "N" minutos

Recommended Posts

Boa tarde a todos,

Eu tenho um formulário que pega a hora do cliente e soma com 50 minutos, esse é o prazo da entrega do serviço, o cliente recebe essa mensagem por email. Até ai tudo bem, segue a parte do código:

date_default_timezone_set('America/Sao_Paulo');
$hora = date('H:i:s');

$message .= date('H:i:s', strtotime('+50 minute', strtotime($hora)));

O que eu preciso é colocar algo que diga, se a soma do horário for inferior a 11:00 então o horário de entrega será 11:50. Apenas isso!

No atual código, quando alguém acessa as 9:00 ele recebe o email com o prazo de entrega para 9:50, e na verdade todos os pedidos feitos antes das 11:00 serão entregues as 11:50. Sou leigo em PHP, vi que pode ser algo com o comando "if", mas não sei direito, quem puder ajudar eu agradeço e muito!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Alaerte,

Primeiro, obrigado pela sua atenção!

 

Quando o cliente envia o formulario de pedido, eu recebo esse formulário com a HORA QUE FOI ENVIADO e com uma previsão de entrega, essa previsão nada mais é que a hora que o pedido foi enviado somado com 50 minutos. hora + 50 minutos.

Isso já acontece, mas queria que o formulário reconhecesse se o formulário foi enviado antes das 11:00 então a previsão de entrega será sempre 11:50, entendeu?

Se o cliente envio o formuláiro as 11:02 então o sistema iria somar normalmente o horário e a previsão seria 11:52.

 

 

 

Não entendi ??

if($message < '11:00:00'){       $message = '11:50:00';}

Oi Alaerte,

Primeiro, obrigado pela sua atenção!

 

Quando o cliente envia o formulario de pedido, eu recebo esse formulário com a HORA QUE FOI ENVIADO e com uma previsão de entrega, essa previsão nada mais é que a hora que o pedido foi enviado somado com 50 minutos. hora + 50 minutos.

Isso já acontece, mas queria que o formulário reconhecesse se o formulário foi enviado antes das 11:00 então a previsão de entrega será sempre 11:50, entendeu?

Se o cliente envio o formuláiro as 11:02 então o sistema iria somar normalmente o horário e a previsão seria 11:52.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente pesquisando, coloquei assim o codigo:

<?php
include "login_senha.php";

$login = $_SESSION['login_usuario'];

$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email'");
while($linha = mysql_fetch_array($sql)) {
	$nome = $linha['nome'];
	$endereco = $linha['endereco'];
	$cep = $linha['cep'];
	$telefone = $linha['telefone'];
	$email = $linha['email'];
}
if($prazo<"11:00:00"){
$sit = "11:50:00";
}elseif($prazo>="11:00:00") {
$sit = $hora;
}

date_default_timezone_set('America/Sao_Paulo');
$prazo = date('H:i:s', strtotime('+50 minute', strtotime($hora)));
$m = $_POST["mensagem"];
$data = $_POST["data"];
$nome = $_POST['nome'];
$email = $_POST['email'];
$cep = $_POST['cep'];
$endereco = $_POST['endereco'];
$telefone = $_POST['telefone'];
$hora = date('H:i:s');
$pagamento = $_POST["pagamento"];
$troco = $_POST["troco"];
$mtotal = $_POST["mtotal"];
$nop = $_POST["nop"];
$op = $_POST["op"];
$obsfruta = $_POST["obsfruta"];
$quentes = $_POST["quentes"];
$saladas = $_POST["saladas"];
$sopas = $_POST["sopas"];
$sobremesas = $_POST["sobremesas"];
$sucos = $_POST["sucos"];
$bebidas = $_POST["bebidas"];
$emporio = $_POST["emporio"];

$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Bardana</title>';

$message .= '<style type="text/css">body, #bodyTable{height:100% !important; margin:0; padding:0; width:100% !important;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;color:#000000;font-weight:normal;}table{border-collapse:collapse;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;}img, a img{border:0; outline:none; text-decoration:none;height:auto; line-height:100%;}a{text-decoration:none !important;}.ReadMsgBody{width:100%;} .ExternalClass{width:100%;}.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div{line-height:100%;}table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;}#outlook a{padding:0;}img{-ms-interpolation-mode: bicubic;display:block;outline:none; text-decoration:none;}body, table, td, p, a, li, blockquote{-ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; font-weight:normal!important;}.ExternalClass td[class="ecxflexibleContainerBox"] h3 {padding-top: 10px !important;}</style>';

$message .= '</head><body bgcolor="#EEEEEE" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"><center style="background-color:#EEEEEE;"><table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="table-layout: fixed;max-width:100% !important;width: 100% !important;min-width: 100% !important;"><tr><td align="center" valign="top" id="bodyCell"><table bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><tr><td background="http://www.bardananatural.com.br/cardapioonline/images/centro.jpg" width="650" height="200" valign="top" align="center" style="color:#008D44;font-size:18px;"><img src="http://bardananatural.com.br/cardapioonline/images/topo.jpg" alt="Bardana" width="650" height="99" /><strong>Pedido feito em ';

$message .= $data; 

$message .= '</head><body bgcolor="#EEEEEE" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"><center style="background-color:#EEEEEE;"><table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="table-layout: fixed;max-width:100% !important;width: 100% !important;min-width: 100% !important;"><tr><td align="center" valign="top" id="bodyCell"><table bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><tr><td background="http://www.bardananatural.com.br/cardapioonline/images/centro.jpg" width="650" height="30" valign="top" align="center" style="color:#f0610e;font-size:14px;"><strong>Prazo limite para entrega: ';

$message .= $prazo;

Mas não está vindo a hora certa, só aparece 21:50:00

Não sei o que fazer!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim, cara. Fiz rapidinho, mas acho que faz o que você precisa:

<?php
$Agora = new DateTime();
$HoraServico = new DateTime( 'now + 50min' );
$HoraLimite = new DateTime( 'today 11:00:00' );

if ( $Agora < $HoraLimite )
    $HoraServico = $HoraLimite->modify( '+ 50min' );

printf(
    'Horario da consulta: %s',
    $HoraServico->format( 'H:i:s' )
);

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Tenta assim, cara. Fiz rapidinho, mas acho que faz o que você precisa:

<?php
$Agora = new DateTime();
$HoraServico = new DateTime( 'now + 50min' );
$HoraLimite = new DateTime( 'today 11:00:00' );

if ( $Agora < $HoraLimite )
    $HoraServico = $HoraLimite->modify( '+ 50min' );

printf(
    'Horario da consulta: %s',
    $HoraServico->format( 'H:i:s' )
);

;)

 

 

Olá Matheus,

Obrigado pela atenção!

Coloquei assim:

<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<title>BARDANA</title>
<link href='http://fonts.googleapis.com/css?family=Lato:400,700,900' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Roboto+Slab:700' rel='stylesheet' type='text/css'>
<link href='form.css' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="pagina" style="text-align:center;margin:100px auto;padding:50px;">

<?php
include "login_senha.php";

$login = $_SESSION['login_usuario'];

$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email'");
while($linha = mysql_fetch_array($sql)) {
	$nome = $linha['nome'];
	$endereco = $linha['endereco'];
	$cep = $linha['cep'];
	$telefone = $linha['telefone'];
	$email = $linha['email'];

$Agora = new DateTime();
$HoraServico = new DateTime( 'now + 50min' );
$HoraLimite = new DateTime( 'today 11:00:00' );

if ( $Agora < $HoraLimite )
    $HoraServico = $HoraLimite->modify( '+ 50min' );

printf(
    'Horario da consulta: %s',
    $HoraServico->format( 'H:i:s' )
);

date_default_timezone_set('America/Sao_Paulo');
$m = $_POST["mensagem"];
$data = $_POST["data"];
$nome = $_POST['nome'];
$email = $_POST['email'];
$cep = $_POST['cep'];
$endereco = $_POST['endereco'];
$telefone = $_POST['telefone'];
$pagamento = $_POST["pagamento"];
$troco = $_POST["troco"];
$mtotal = $_POST["mtotal"];
$nop = $_POST["nop"];
$op = $_POST["op"];
$obsfruta = $_POST["obsfruta"];
$quentes = $_POST["quentes"];
$saladas = $_POST["saladas"];
$sopas = $_POST["sopas"];
$sobremesas = $_POST["sobremesas"];
$sucos = $_POST["sucos"];
$bebidas = $_POST["bebidas"];
$emporio = $_POST["emporio"];

$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Bardana</title>';

$message .= '<style type="text/css">body, #bodyTable{height:100% !important; margin:0; padding:0; width:100% !important;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;color:#000000;font-weight:normal;}table{border-collapse:collapse;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;}img, a img{border:0; outline:none; text-decoration:none;height:auto; line-height:100%;}a{text-decoration:none !important;}.ReadMsgBody{width:100%;} .ExternalClass{width:100%;}.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div{line-height:100%;}table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;}#outlook a{padding:0;}img{-ms-interpolation-mode: bicubic;display:block;outline:none; text-decoration:none;}body, table, td, p, a, li, blockquote{-ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; font-weight:normal!important;}.ExternalClass td[class="ecxflexibleContainerBox"] h3 {padding-top: 10px !important;}</style>';

$message .= '</head><body bgcolor="#EEEEEE" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"><center style="background-color:#EEEEEE;"><table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="table-layout: fixed;max-width:100% !important;width: 100% !important;min-width: 100% !important;"><tr><td align="center" valign="top" id="bodyCell"><table bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><tr><td background="http://www.bardananatural.com.br/cardapioonline/images/centro.jpg" width="650" height="200" valign="top" align="center" style="color:#008D44;font-size:18px;"><img src="http://bardananatural.com.br/cardapioonline/images/topo.jpg" alt="Bardana" width="650" height="99" /><strong>Pedido feito em ';

$message .= $data; 

$message .= '</head><body bgcolor="#EEEEEE" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"><center style="background-color:#EEEEEE;"><table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="table-layout: fixed;max-width:100% !important;width: 100% !important;min-width: 100% !important;"><tr><td align="center" valign="top" id="bodyCell"><table bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><tr><td background="http://www.bardananatural.com.br/cardapioonline/images/centro.jpg" width="650" height="30" valign="top" align="center" style="color:#f0610e;font-size:14px;"><strong>Prazo limite para entrega: ';

$message .= $HoraLimite;

$message .= '</strong><br /><br /></td></tr><tr><td background="http://www.bardananatural.com.br/cardapioonline/images/centro.jpg" width="650" valign="top" align="center"><table border="0" cellpadding="0" cellspacing="0" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;">';

$message .= '<tr><td width="295" height="100" valign="top" align="left" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p><strong>Endereço: </strong>' . $endereco . '</p><p><strong>CEP: </strong>' . $cep . '</p><p><strong>Forma de Pagamento: </strong><br />' . $pagamento . '</p><p><strong>Precisa de troco?: </strong><br />' . $troco . '</p><br /></td><td width="295" height="100" valign="top" align="left" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"><p><strong>Nome: </strong>' . $nome . '</p><p><strong>Telefone: </strong>' . $telefone . '</p><p><strong>E-mail: </strong>' . $email . '</p><p><strong>Total do seu pedido: </strong>R$ ' . $mtotal . '</p><br /></td></tr><tr><td colspan="2" width="295" height="3" bgcolor="#008D44" style="font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"></td></tr><tr><td width="295" height="40" valign="middle" align="left" style="color:#008D44;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p><strong>Escolha a sua opção: </strong></p></td><td width="295" height="40" valign="middle" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"><p>' . $nop . $op . '</p></td></tr>';

$message .= '<tr><td colspan="2" width="293" height="3" border="1" bgcolor="#008D44" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"></td></tr><tr><td width="293" height="40" border="1" cellspacing="1" cellpadding="10" valign="top" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Pratos quentes:</strong></p>' . $quentes . '<br /></td><td width="293" height="40" valign="top" cellspacing="1" cellpadding="10" bgcolor="#D7D7D7" border="1" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Saladas:</strong></p>' . $saladas . '<br /><p><strong></strong></p>' . $obsfruta . '<p></p></td></tr>';

$message .= '<tr><td colspan="2" width="293" height="3" border="1" bgcolor="#008D44" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"></td></tr><tr><td width="293" height="40" border="1" cellspacing="1" cellpadding="10" bgcolor="#D7D7D7" valign="top" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Sopa do Dia:</strong></p>' . $sopas . '<br /></td><td width="293" height="40" cellspacing="1" cellpadding="10" border="1" valign="top" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Sobremesas:</strong></p>' . $sobremesas . '<br /></td></tr>';

$message .= '<tr><td colspan="2" width="293" height="3" border="1" bgcolor="#008D44" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"></td></tr><tr><td width="293" height="40" border="1" cellspacing="1" cellpadding="10" valign="top" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Sucos:</strong></p>' . $sucos . '<br /></td><td width="293" height="40" border="1" cellspacing="1" cellpadding="10" bgcolor="#D7D7D7" valign="top" align="left" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Bebidas:</strong></p>' . $bebidas . '<br /></td></tr>';

$message .= '<tr><td colspan="2" width="293" height="3" border="1" bgcolor="#008D44" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:14px;"></td></tr><tr><td colspan="2" width="293" height="40" cellspacing="1" cellpadding="10" border="1" style="color:#000000;font-family:Tahoma, Geneva, Helvetica, Arial, "Lucida Grande", sans-serif;font-size:12px;"><p style="color:#008D44;"><strong>Nosso Empório:</strong></p>' . $emporio . '<br /></td></tr>';

$message .= '<tr><td colspan="2" width="295" height="100" align="center" valign="middle" bgcolor="#f47123" style="line-height:18px">Obrigado pela sua preferência.<br />Seu pedido vai chegar rapidinho!<br />www.bardanacozinhanatural.com.br<br />21. 2292-9232 | 2220-0334</td></tr></table></td></tr><tr><td background="http://www.bardananatural.com.br/cardapioonline/images/centro.jpg" width="650" height="50" valign="top" align="center">
<img src="http://bardananatural.com.br/cardapioonline/images/rodape.jpg" alt="" width="650" height="50" /></td></tr></table></td></tr></table></center></body></html>';

$to = $email;
$subject = "Seu pedido ao restaurante BARDANA";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$headers .= 'From: <contato@ramosdesign.com.br>' . "\r\n";
$headers .= 'Cc: contato@ramosdesign.com.br' . "\r\n";

//mail($to,$subject,$message,$headers);

if(mail($to,$subject,$message,$headers))
{
  echo "Seu pedido foi enviado com sucesso.<br>Você está recebendo uma cópia no endereço de e-mail que foi fornecido.<br><br>Obs.: Se você não receber a cópia do seu pedido em 10 minutos,<br>cheque a sua caixa de SPAM ou ligue para 2292-9232 | 2295-0334<br><br>";
}else{
  echo "Algo saiu errado no envio do seu pedido.<br>Por favor, ligue para 2292-9232 | 2295-0334<br><br>";
}

echo "<input type='button' id='voltar' class='botao' value=' VOLTAR ' onClick='location.replace(\"" . "http://bardananatural.com.br/" . "\");'>";
?>
 

</div> <!-- pagina -->
</body>
</html>

Na hora do envio deu essa msg:

 

Parse error: syntax error, unexpected end of file in /home/barda589/public_html/pedido_online/mail.php on line 110

 

A linha 110 é o </html> não entendi o erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Alessandro Ramos melhor contratar alguém pra fazer isso. Pelo que vi você não está aprendendo (up- leia estudando) e sim querendo implementar isso em um sistema em produção. Isso pode gerar complicações dependendo do que trata seu sistema.

Por favor me corrija se estou equivocado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

 

 

@Alessandro Ramos melhor contratar alguém pra fazer isso. Pelo que vi você não está aprendendo e sim querendo implementar isso em um sistema em produção. Isso pode gerar complicações dependendo do que trata seu sistema.

Por favor me corrija se estou equivocado.

 

Oi Marcos,

Muitas coisas eu aprendi pelas aulas, tutorias, minha área é design, mas consegui criar o formulário de cadastro, login, até o formulário, que carrega automaticamente os dados, resumindo, sou esforçado, mas tem detalhes, bobos mesmo, que as vezes eu deixo passar.

 

Como por exemplo, no último post eu tive uma ajuda que foi uma besteirinha minha que eu não vi, enfim, estou explicando isso para você vê que estou correndo atrás de aprender.

Cada coisa que aprendo com os erros, eu anoto e não esqueço!

 

Esse lance do horário, eu consegui fazer a soma dos 50 minutos, mas o detalhe do reconhecimento do horário que estou queimando a cabeça. O que o Matheus passou, acredito que está perfeito, mas tem alguma besteira que eu fiz que dá esse erro, confesso que não parei para olhar com calma, vou fazer isso agora.

 

Mas, claro, se você olhando o código perceber onde eu errei te agradeceria e muito!

 

 

O erro que me apresenta agora, usando a seu código Matheus é:

Horario da consulta: 11:50:00Catchable fatal error: Object of class DateTime could not be converted to string in .../mail.php on line 69

que é :

$message .= $HoraLimite;

Onde deveria mostrar no email o horário limite.

Vou aqui tentando vê qual é o problema.

De qualquer forma agradeço a atenção de todos.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei uma olhada rápida. Verifique se você fechou o while

 

 

 

Horario da consulta: 11:50:00
Catchable fatal error: Object of class DateTime could not be converted to string in .../mail.php on line 69

 

Resolva usando

$message .= $HoraLimite->format( 'H:i:s' );

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Dei uma olhada rápida. Verifique se você fechou o while

 

 

Resolva usando

$message .= $HoraLimite->format( 'H:i:s' );

 

Obrigado Marcos,

Resolveu o problema, só não funcionou o esquema que o Matheus explicou, ou fiz algo de errado!

 

Nessa linha como está aparece no email 11:50, mudei para $message .= $HoraServico->format ( 'H:i:s'); também aparece 11:50.

 

Vou continuar pesquisando, valeu e muito pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei, pelo que eu falei e entendi do código que ele passou:

<?php$Agora = new DateTime();$HoraServico = new DateTime( 'now + 50min' );$HoraLimite = new DateTime( 'today 11:00:00' );if ( $Agora < $HoraLimite )    $HoraServico = $HoraLimite->modify( '+ 50min' );printf(    'Horario da consulta: %s',    $HoraServico->format( 'H:i:s' ));

$Agora é a hora atual, $Hora do Serviço na verdade é a hora da entrega, e Hora Limite que ele colocou seria na verdade para informar que TODOS OS PEDIDOS feitos antes das 11:00:00 seria entregue as 11:50:00.

 

Então SE (if) a hora atual ($Agora) for menor que a $HoraLimite, então a $HoraServiço (que é a hora que aparecerá no email da entrega) deverá sempre aparecer no email como 11:50:00.

 

Então SE (if) a hora atual ($Agora) for MAIOR que a $HoraLimite, então a $HoraServiço (que é a hora que aparecerá no email da entrega) deverá SER SOMADA A 50 minutos.

 

Mas algo, eu acho, está errado!

 

Lá na linha:

$message .= $HoraLimite->format( 'H:i:s' );

O certo não seria $HoraLimite e sim $HoraServiço correto?

 

Mas tem algo dando errado...rs...vou tentando aqui!

 

 

Eu sei, pelo que eu falei e entendi do código que ele passou:

<?php$Agora = new DateTime();$HoraServico = new DateTime( 'now + 50min' );$HoraLimite = new DateTime( 'today 11:00:00' );if ( $Agora < $HoraLimite )    $HoraServico = $HoraLimite->modify( '+ 50min' );printf(    'Horario da consulta: %s',    $HoraServico->format( 'H:i:s' ));

$Agora é a hora atual, $Hora do Serviço na verdade é a hora da entrega, e Hora Limite que ele colocou seria na verdade para informar que TODOS OS PEDIDOS feitos antes das 11:00:00 seria entregue as 11:50:00.

 

Então SE (if) a hora atual ($Agora) for menor que a $HoraLimite, então a $HoraServiço (que é a hora que aparecerá no email da entrega) deverá sempre aparecer no email como 11:50:00.

 

Então SE (if) a hora atual ($Agora) for MAIOR que a $HoraLimite, então a $HoraServiço (que é a hora que aparecerá no email da entrega) deverá SER SOMADA A 50 minutos.

 

Mas algo, eu acho, está errado!

 

Lá na linha:

$message .= $HoraLimite->format( 'H:i:s' );

O certo não seria $HoraLimite e sim $HoraServiço correto?

 

Mas tem algo dando errado...rs...vou tentando aqui!

 

E dessa forma $message .= $HoraServico->format( 'H:i:s' ); só aparece no email 11:50:00 SEMPRE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao use else. Algo como:

$Agora = new DateTime();
$HoraServico = new DateTime( 'now + 50min' );
$HoraLimite = new DateTime( 'today 11:00:00' );


if ( $Agora < $HoraLimite ){
    $HoraServico = $HoraLimite->modify( '+ 50min' );
}else{
     $HoraLimite= $HoraServico;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Entao use else. Algo como:

$Agora = new DateTime();$HoraServico = new DateTime( 'now + 50min' );$HoraLimite = new DateTime( 'today 11:00:00' );if ( $Agora < $HoraLimite ){    $HoraServico = $HoraLimite->modify( '+ 50min' );}else{     $HoraLimite= $HoraServico;}

 

Valeu Marcos, agora recebi legal o email, amanhã vu testar para vê se antes das 11hs ele irá enviar com o horário de entrega as 11:50.

Cara, muito obrigado pela sua atenção, vou estudar melhor o if e o else, já vi que vai me ajudar muito em outras situações.

 

 

Pensei que estivesse tudo OK, mas a hora não está sendo reconhecida como (America/Sao Paulo), coloquei

new DateTime('America/Sao_Paulo') não funcionou!

 

No código tem date_default_timezone_set('America/Sao_Paulo'); mas não esta reconhecendo, diferença de 2 horas pra baixo...):

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que consegui!

Coloquei:

$Agora = date_default_timezone_set('America/Sao_Paulo');
$HoraServico = new DateTime( 'now + 50min' );
$HoraLimite = new DateTime( 'today 11:00:00' );


if ( $Agora < $HoraLimite ){
    $HoraServico = $HoraLimite->modify( '+ 50min' );
}else{
     $HoraLimite= $HoraServico;
}

Tenho que testar amanhã antes das 11hs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro você estudar muito viu Alessandro, realmente fica difícil orientá-lo dessa forma. Você ao menos entende o que está sendo passado.

 

A variável $Agora não recebe nenhum valor pra você comparar aí. Você tem que pegar a hora atual querido.

$Agora = date('H:i:s');

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Sugiro você estudar muito viu Alessandro, realmente fica difícil orientá-lo dessa forma. Você ao menos entende o que está sendo passado.

 

A variável $Agora não recebe nenhum valor pra você comparar aí. Você tem que pegar a hora atual querido.

$Agora = date('H:i:s');

 

Verdade amigo, já fiz tanta coisa aqui, que metade não entendi, mas deu certo...rs. Obrigado pela orientação!! Vou correr atrás do prejuízo, estudar mais mesmo.

Abração, parece que agora deu certo, estou esperando passar das 11hs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente assim:

$Agora = date('H:i:s');
$HoraServico = new DateTime( 'now + 50min' );
$HoraLimite = new DateTime( 'today 11:00:00' );


if ( $Agora < $HoraLimite ){
    $HoraServico = $HoraLimite->modify( '+ 50min' );
}

else if ( $Agora > $HoraLimite ){
    $HoraServico = new DateTime( 'now + 50min' );
	
};

Não está funcionando, só aparece 11:50:00

Alguém, por favor, poderia me mostrar aonde está o erro?

A coisa é simples, se $Agora for menor que $HoraLimite, então a $HoraServico será 11:50:00. Se $Agora for maior que $HoraLimite, então a $HoraServico será a $HoraServico, que nada mais é que a hora atual somada com 50minutos.

Poxa, não foi essa regra que eu coloquei acima? Cara sou muito burro e estou me ferrando com meu cliente só por causa disso... :(

 

Ná linha da mensagem, onde irá aparecer a hora no email é assim:

$message .= $HoraServico->format( 'H:i:s' );

Isso acredito que está certo..rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Graça a Deus resolvi!

date_default_timezone_set('America/Sao_Paulo');
$Agora = date('H:i:s');
$HoraServico = date('H:i:s', strtotime('+50 minute', strtotime($Agora)));


if ( $Agora < '11:00:00'){
    $HoraServico = '11:50:00';
}

else if ( $Agora > '11:00:00' ){
    $HoraServico == $HoraServico;
	
};

A linha onde aparece a hora da entrega!

$message .= $HoraServico;

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ment0r
      Bom dia pessoal, tudo bem?
       
      Fiz um sistema de venda simples, no qual o usuário digita o produto, preço, quantidade e forma de pagamento e tudo isso é gravado no banco. Está acontecendo o seguinte: o php está 1h adiantado em relação ao relógio, então quando o cliente cadastra uma venda depois das 23h, a venda é lançada pro dia seguinte.
       
      Já usei o date_default_timezone_set('America/Sao_Paulo'). O sistema não grava a hora que a venda é feito, o grande problema é a questão das vendas entre 23h e 0h, pelo motivo já citado acima.
       
      Alguém sabe corrigir esse problema? Desde já, muito obrigado.
    • Por Roberto S. Santos
      Boa noite devs.
      Poderiam me ajudar ?
      Estou querendo fazer o seguinte em um formulário PHP...
      O usuário deve cadastrar a sua data e horário do uso na churrasqueira e quando chegar nesta data e no horário final ele apaga os dados do cadastro desta reserva.
      Como posso fazer isto com PHP ?
      Temos...
      data reserva
      hora reserva  (hora inicial)
      hora final (já vai estar pré definida na base de dados)
      Banco de Dados : clientes
      Tabela : reserva
      Deus abençoe a todos.
       
    • Por Alessandro Bodão
      Fala rapaziada! Tudo legal?
       
      Estou desenvolvendo um site onde coloquei uma espécie de 'relógio' nele, onde as pessoas veem que horas são, os minutos e segundos vão atualizando automático. Até aí tudo certo...
       
      No header do site tem um título principal (h1) que começa dando bom dia. Como as pessoas vão acessar o site em horários diferentes, tive a ideia do texto atualizar automaticamente pra boa tarde ou boa noite, relativo ao intervalo de tempo do relógio, mas não sou tão bom ainda com javascript. 
    • Por Alessandro Bodão
      Fala rapaziada! Tudo legal?
       
      Estou desenvolvendo um site onde coloquei uma espécie de 'relógio' nele, onde as pessoas veem que horas são, os minutos e segundos vão atualizando automático. Até aí tudo certo...
       
      No header do site tem um título principal (h1) que começa dando bom dia. Como as pessoas vão acessar o site em horários diferentes, tive a ideia do texto atualizar automaticamente pra boa tarde ou boa noite, relativo ao intervalo de tempo do relógio, mas não sou tão bom ainda com javascript. 
       
      Como eu poderia fazer isso?
×

Informação importante

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