Ir para conteúdo

POWERED BY:

Arquivado

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

Renato Duarte

[Resolvido] Função now(): como acrescentar 3 horas para compensar

Recommended Posts

A hora do servidor onde o site está hospedado tem três horas a menos em ralação ao horário de Brasília.

Ao inserir os dados, uso a função now() e preciso acrescentar três horas, para dar certo.

 

O responsável pelo servidor disse para eu usar now() + 3, mas não funcionou.

 

Preciso da ajuda de vocês.

 

mysql_query ("insert into news values ('', now(), '$display', '$title', '$author', '$text')");

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca usei e nem ouvi falar desta função.

Se uma hora são 60 minutos e cada minuto é igual a 60 segundos,então podemos representa-la por:

60*60 = 3600 = 1hora

Seguindo esse raciocinio,3 horas são:

60*60 = 3600 = 1hora
1hora*3 = 3horas = 10800segundos

Portanto,usando a função time temos:

time()+(60*60*3) = Tempo atual + 3horas

Exemplificando:

<?php
echo date('d/m/y H:i:s', (time()+(60*60*3)));
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A hora do servidor onde o site está hospedado tem três horas a menos em ralação ao horário de Brasília.

Ao inserir os dados, uso a função now() e preciso acrescentar três horas, para dar certo.

 

O responsável pelo servidor disse para eu usar now() + 3, mas não funcionou.

 

Preciso da ajuda de vocês.

 

mysql_query ("insert into news values ('', now(), '$display', '$title', '$author', '$text')");

 

Obrigado.

tenta assim:

$agora = date("H:i:s",mktime(date("H")+3,date("i"),date("s"),0,0,0));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo!

 

Muito obrigado mestres.

 

As duas funções deram certo. Optei por usar a primeira, que já tem a data.

Precisei apenas inverter a forma como a data é inserida, obedecendo ao formato do MySQL.

 

Ficou assim:

 

$now = date('Y-m-d H:i:s', (time()+(60*60*3)));

mysql_query ("insert into news values ('', '$now', '$display', '$title', '$author', '$text')");

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

costumo fazer assim:

 

<?php

// define a diferença em constantes
define('GMT_hours', 2);
define('GMT_minute', 0);


$now = 'DATE_ADD( NOW(), INTERVAL '" . GMT_hours . " " . GMT_minute . "' HOUR_MINUTE)';
mysql_query ( "insert into news values ( '', $now, '" . $display . "', '" . $title . "', '" . $author . "', '" . $text . "')" );

?>

consulte: http://dev.mysql.com/doc/refman/4.1/pt/dat...-functions.html

 

 

 

veja também:

 

MySQL Locale support

http://dev.mysql.com/doc/refman/5.0/en/locale-support.html

 

PHP setlocale (não recomendo uso, pois será modificado a partir do PHP 6)

http://php.net/setlocale

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando li o titulo do topico ja ia postar para usar funções do proprio mysql, como o himon mesmo postou

 

prefira sempre usar esses recursos no proprio banco de dados é bem mais pratico

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.