2012-04-19 15 views
6

Come posso passare un datetime/timestamp da PHP a javascript. Quanto segue non sembra funzionare:Pass Datetime/Timestamp da PHP a Javascript di echo

startLive = new Date(<?php echo date("U", strtotime($start_date)); ?>); 
+0

Si prega di fornire ulteriori informazioni come Dove stai scrivendo questa linea? All'interno di un tag di script Jvascript o da qualche altra parte, se puoi condividere un po 'più di codice, potrei essere in grado di guidarti meglio. –

+0

devi mettere '" 'come il timestamp è una stringa – hjpotter92

+0

@ChasingDeath: Certo,' date' restituisce una stringa in PHP, ma specificando il formato come "U", in realtà è un valore intero (anche se la variabile type è 'string'). Javascript lo prende ancora come un numero intero, quindi non è questo il problema.In realtà, penso che l'unico problema qui è che ha bisogno di moltiplicarlo per 1000 per convertirlo in millisecondi – Travesty3

risposta

26

Prova questa:

startLive = new Date(<?php echo strtotime($start_date)*1000; ?>); 

Spiegazione:

funzione di PHP strtotime restituisce un timestamp Unix (secondi dal 1970/01/01 a mezzanotte).

La funzione Date() di Javascript può essere istanziata specificando millisecondi dall'1-1-1970 a mezzanotte.

Quindi moltiplica i secondi per 1000 e ottieni millisecondi, che puoi utilizzare in Javascript.

+0

Nice, grazie! – Ben

0

È possibile utilizzare questo:

startLive = new Date("<?php echo date("F d, Y G:i:s",strtotime($start_date)); ?>"); 

questo ordinerà il problema

Spiegazione:

Check Here

1

Penso che soluzione molto semplice e universale sarebbe

var dateTime = <?php echo date('c', strtotime($yourDateTime)) ?>; 
+0

Grazie, mi ha reso la vita molto facile. – Evert