Tengo una página PHP que, entre otras cosas, asigna un valor a la variable $deviance . El valor de esta variable es siempre un número entero, generalmente entre 0 y 45.
Luego necesito javascript para usar el valor de $deviance que se agregará como minutos a la hora actual según lo determine javascript.
Por ejemplo, si $deviance = 10 , la hora actual de 13:55:10 se convierte en 14:05:10 , por lo que estos valores dan como resultado:
var hour = 14var minute = 5var second = 10 En PHP, calculo el valor de $deviance así:
$a = new DateTime("$str_deviation"); $b = new DateTime('12:00'); $deviant = $a->diff($b); $deviance = ( ( $deviant->format('%H') * 60 ) + ( $deviant->format('%i') ) );Luego, uso la variable PHP en javascript:
var deviation=<?php echo json_encode($deviance); ?>; var now = new Date(); now.setMinutes( now.getMinutes() + deviation); document.write( now ); var hour = now.getHours(); var minute = now.getMinutes(); var second = now.getSeconds();¡Cualquier ayuda para encontrar mi error será muy apreciada!
[Usando: configuración LAMP estándar en el servidor Debian 11]
El problema es el uso de json_encode .
Puedes resolver el problema cambiando
var deviation=<?php echo json_encode($deviance); ?>;a
var deviation=<?php echo $deviance; ?>;¡Gracias a @Lelio y @dave!