type - Enviar fecha de PHP a formato de fecha de javascript
input type date value (8)
$.get(''time.php'', function(data) {
today = new Date(data);
closing = new Date(data);
});
¿Cuál fue el propósito de multiplicar la cuerda por 1000? Esa operación no tiene sentido.
editar:
Este PHP funcionará para eso.
echo date(''D, d M y H:i:s'')." +0000";
Quiero pasar mi tiempo de servidor de PHP a mi archivo javascript.
Código PHP:
date_default_timezone_set(''Australia/Perth'');
echo date("r");
JS:
$.get(''time.php'', function(data) {
today = new Date(data);
closing = new Date(data);
});
El php devuelve Sun, 18 Mar 2012 12:01:23 +0800, que es la hora correcta para Australia / Perth. Pero esto devuelve un objeto de fecha de javascript no válido.
Cuando trato de convertirlo a timestamp como:
echo strtotime(date("r"));
Obtengo la fecha del guión gráfico Sun Mar 18 2012 04:03:14 GMT + 0000 (MOJADO) (este es el valor de js var de hoy)
Si uso:
echo gmstrftime(''%s'');
Obtengo: sáb 17 de marzo de 2012 20:04:30 GMT + 0000 (WET).
¿Por favor, puede alguien ayudarme?
Gracias
El PHP en nallar no es exactamente como el de JavaScript, esto imitará exactamente el de JavaScript:
echo date(''D M d Y H:i:s O'');
date(''D M d Y H:i:s O'')
No funcionará si su configuración regional actual no es inglés.
Una mejor alternativa es usar
new Date(<? echo date("Y, n - 1, d, H, i, s") ?>)
es muy simple:
new Date("<?= date(''Y/m/d H:i:s''); ?>");
Puede haber mejores soluciones, pero esta me sirvió. La cuestión clave es que javascript usa meses 0-11 mientras que php usa 1-12 como se mencionó anteriormente.
function convert_date_php_js($date){
$converted_date = date("Y", strtotime($date)) . '', '' . (date("n", strtotime($date))-1) . '', '' . date("j", strtotime($date));
return $converted_date;}
$priceDate = "2016-09-14";
$d = convert_date_php_js($priceDate);
//returns 2016, 8, 14
Una buena forma es la marca de tiempo
echo $data = time()*1000;
echo ''
<div id="setxDatetime">CURRENT SERVER TIME IS: </div>
<script type="text/javascript">
var x = document.getElementById("setxDatetime");
x.innerHTML = x.innerHTML + new Date('' . $data . '');
</script>
'';
1381324693000
EL TIEMPO ACTUAL DEL SERVIDOR ES: Mié. 09 de Oct. de 2013 16:18:13 GMT + 0300 (Hora estándar de GTB)
También podría simplemente dejar el PHP tal como está y analizar la fecha usando JavaScript.
var date = new Date(Date.parse(DATE));
Entonces, incluso cosas como esta funcionarían:
new Date(Date.parse(''11 March 2017''));
Que salidas a través de un registro de la consola (GMT + 1000 es porque estoy en Australia):
Sat Mar 11 2017 00:00:00 GMT+1000
Más información aquí: https://developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
Aquí hay un ejemplo con el objeto DateTime
Código PHP (funciona en> PHP 5.3)
$serverDate = new /DateTime(''NOW'');
// if you want to set different time zone
// $serverDate = new /DateTime(''NOW'', new /DateTimeZone(''Australia/Perth''));
echo $serverDate->format(DATE_ATOM);
Código JS
$.get(''time.php'', function(data) {
var serverDate = new Date(data);
});