acao Posted September 4, 2013 at 10:23 PM Report #523490 Posted September 4, 2013 at 10:23 PM 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
HappyHippyHippo Posted September 4, 2013 at 10:43 PM Report #523493 Posted September 4, 2013 at 10:43 PM 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 Portugol Plus
acao Posted September 4, 2013 at 11:22 PM Author Report #523495 Posted September 4, 2013 at 11:22 PM 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
HappyHippyHippo Posted September 5, 2013 at 08:38 AM Report #523502 Posted September 5, 2013 at 08:38 AM $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 Portugol Plus
acao Posted September 6, 2013 at 01:09 PM Author Report #523671 Posted September 6, 2013 at 01:09 PM (edited) $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 Edited September 6, 2013 at 01:10 PM by acao
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now