Ajuda com o Echo da Date =(

Boas pessoal.

Estou num alojamento internacional como posso fazer "<? echo date('H:i - d/t/Y'); ?>" no horário de Portugal?

É que aqui são 14h56 e quando faço o echo da date aparece 9h56 =(


Alguém me ajuda???
 
date_default_timezone_set("Europe/Lisbon")

mas não sei se o servidor te permite alterar essas coisas. nunca usei servidores, não sei como funcionam nesse aspecto

se não der sempre podes somar 5 horas de cada vez que les a data
 
date_default_timezone_set("Europe/Lisbon")

mas não sei se o servidor te permite alterar essas coisas. nunca usei servidores, não sei como funcionam nesse aspecto

se não der sempre podes somar 5 horas de cada vez que les a data


Pois nem eu sei onde se muda a data no servidor.

Já agora como é que soma +5 horas na data?

Thanks :)
 
a função que eu te dei, podes usá-la dentro do teu códio php. o que eu não sei é se os servidores costumam permitir alterações a esse tipo de coisas.

o desenrascanço (somar 5 horas) pode ser assim:
Código:
<?php
$hora= date('H')+5;
echo $hora.date(':i - d/t/Y');
?>
 
a função que eu te dei, podes usá-la dentro do teu códio php. o que eu não sei é se os servidores costumam permitir alterações a esse tipo de coisas.

o desenrascanço (somar 5 horas) pode ser assim:
Código:
<?php
$hora= date('H')+5;
echo $hora.date(':i - d/t/Y');
?>


Funciona :D Viva aos desenrascanços! LOL

Fica bem obrigado ! :D
 
O desenrascança é má ideia... deves ter um ficheiro .php que incluis em todas as páginas tipo: common.php. Nesse ficheiro mete o que já referiram:
date_default_timezone_set('Europe/Lisbon');

Desta forma todas as horas vão estão certas :)

Para o MySQL ficar com as horas certas, antes de fazeres a query faz sempre esta: (basta uma vez por ligação)
SET time_zone = "Europe/Lisbon"

Para o SSH ficar bem (e provavelmente o PHP/Apache, mas depende do host), cria um file .profile com isto:
export TZ="Europe/Lisbon"
ou um file .bash_profile com o mesmo conteudo referido (nunca sei qual é o file certo :P)
 
pois eu tinha dado essa solução porque como já disse, não sei se os servidores permitem essas coisas. lavigne, chegaste a testar a função que eu dei? na pratica vai dar ao mesmo mas é uma prática melhor do que estar a desenrascar
 
pois eu tinha dado essa solução porque como já disse, não sei se os servidores permitem essas coisas. lavigne, chegaste a testar a função que eu dei? na pratica vai dar ao mesmo mas é uma prática melhor do que estar a desenrascar

A solução que deste é, pelo que sei, a solução recomendada e que funciona em todos os servers. Já testei em pelo menos 2 hosts com timezones diferentes e funciona sempre :) Pelo menos em PHP5 é a solução 100% certa.

Não esquecer é incluir essa chamada logo no inicio de qualquer PHP file e incluir em todos os ficheiros! (daí eu recomendar que se use um ficheiro common.php, todas as páginas "index.php" por exemplo devem começar por incluir o common.php, é uma questão de organização básica e muito usada).

Mas qualquer coisa, é consultar:
http://pt.php.net/manual/en/function.date-default-timezone-set.php



Edit: correcção. Funciona desde que se use PHP 5.1 ou superior!
 
Última edição:
deves estar a usar a função date tal e qual como eu pus no exemplo, e ela tem um erro, que nem sei porque é que pus assim

echo $hora.date('H:i - d/t/Y');

troca o "t" por um "m" e já fica direito

echo $hora.date('H:i - d/m/Y');
 
Por acaso tenho que passar uma vista de olha no significado das letras em relação á date :D

MPalhas: Muito obrigado pela sua atenção, já está tudo corrigido e funcionar :)
 
Back
Topo