Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, estou fazendo um controle de tempo e quando dou inset no banco com o campo datetime a data vai de modo correto, mas a hora não é a correta, exemplo:
acabei de gravar um cadastro no banco, a data de abertura dele ficou 2014-09-05 15:03:29 sendo que atualmente é 12:04.
segue meu código:
$cli = $_POST['cli_cham'];
$fun_cli_cham = $_POST['fun_cli_cham'];
$open_date = gmDate("Y-m-d\TH:i:s\Z");
$ana_cham = $nomeusuario;
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO chamados (cli_cham,fun_cli_cham,dt_ini_cham,abt_ana) values(?,?,?,?)";
$q = $pdo->prepare($sql);
$q->execute(array($cli,$fun_cli_cham,$open_date,$nomeusuario));
Database::disconnect();
header("Location: index.php");
Alguém pode me ajudar com uma solução simples?
obrigado.
Defina o timezone que vc vai trabalhar.
:seta: PHP: Lista de Timezones Suportados
Funcionou !!! isso mesmo que eu precisava, obrigado mesmo.
date('Y-m-d H:i:s'); //Retorna a data e hora atual
Mas recomendo utilizar a classe Datetime
http://br2.php.net/manual/en/book.datetime.php
$data = new DateTime('now');
se o horário estiver errado você tem que setar o datetime
$date = new DateTime('now', new DateTimeZone('America/Sao_Paulo'));
http://br2.php.net/manual/en/datetime.settimezone.php