Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

acao

erro em data

Mensagens Recomendadas

acao

boas

tenho o seguinte erro:

Notice: A non well formed numeric value encountered in

o erro é na linha que coloco.

$novoRegisto->DataUsuario=date("Y-m-d H:i:s",mktime(date("H").$novofusohorario));

qualquer ajuda agradeço.

cumps

acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

pela mensagem, o erro é que o valor não é um número válido.

ora bem, o teu código:

date("Y-m-d H:i:s",                                   // isto que um número no segundo argument, por isso é a melhor aposta de onde vem o erro
                  mktime(                            // isto retorna um número, mas se os argumentos forem correctos.
                         date("H").                  // ok, isto é uma função que parece bem declarada ...
                                   $novofusohorario  // isto não faço ideia do que tem, mas posso presupor ... algo como "GMT" talvez
                        )
   )

agora vê bem qual é o argumento da função mktime se a função date("H") retornar, por exemplo, "4" : "4GMT"

bem, parece que falta ai um espaço ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

pois deve ser aí.

se colocar assim:

$novofusohorario = fusohorario();
echo '   novofusohorario:  '.$novofusohorario;
$timestamp = mktime(date("H").$novofusohorario); //linha 5
echo '   timestamp: '.$timestamp;
$novodate= date("Y-m-d H:i:s",$timestamp);
echo '    novodate: '.$novodate;

e imprime isto:

novofusohorario: +01:00

Notice: A non well formed numeric value encountered in C:\xampp\htdoc on line 5

timestamp: 1378336666

novodate: 2013-09-05 00:17:46

que sugeres?

cumps

acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
$novofs = "+01:00";

$ts1 = time();
$ts2 = strtotime($novofs);

echo "ts1 : $ts1 = ".date("Y-m-d H:i:s", $ts1)."<br />";
echo "ts2 : $ts2 = ".date("Y-m-d H:i:s", $ts2)."<br />";


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

$novofs = "+01:00";

$ts1 = time();
$ts2 = strtotime($novofs);

echo "ts1 : $ts1 = ".date("Y-m-d H:i:s", $ts1)."<br />";
echo "ts2 : $ts2 = ".date("Y-m-d H:i:s", $ts2)."<br />";

deu certo, erro corrigido.

desculpe demorar a responder, mas estive a analisar a maneira de guardar a data e talvez não seja a melhor forma.

estou a guardar a data retornada pelo codigo anterior colocado, isto é guardo a datahora local.

mas acontece que eu tenho que ter a certeza que data estou a guardar, que assim não sei devido aos fusos horarios.

estou tentado a alterar para:

guardar na basedados a hora gmt 0 e noutro campo o fusohorario para depois converter.

$fusomadrid = fusohorario1('Europe/Madrid');
echo 'fuso madrid = '.$fusomadrid."<br />";
$strtotimemadrid =  strtotime(fusohorario1('Europe/Madrid'));
echo 'strtotime madrid = '.$strtotimemadrid."<br />";
$datemadrid = date("Y-m-d H:i:s",$strtotimemadrid);
echo 'data madrid  '.$datemadrid."<br />";
$somar2horas = date("Y-m-d H:i:s",  time($datemadrid)+ 7200);
echo 'somar 2 horas: '.$somar2horas."<br />";

imprime:

fuso madrid = +02:00

strtotime madrid = 1378472624

data madrid 2013-09-06 15:03:44

somar 2 horas: 2013-09-06 17:03:44

conhece alguma maneira de somar o fuso horario a uma datahora, diferente do postado,

isto é : sem ter que fazer as contas e depois apresentar o resultado em segundos, utilizar alguma função do php.

cumps

acao

Editado por acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.