2012-04-19 32 views
6

Jak mogę przekazać datetime/timestamp z PHP do javascript. Poniższa nie wydaje się działać:Przekaż datetime/znacznik czasu z PHP na JavaScript przez echo

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

Podaj więcej informacji, na przykład Gdzie piszesz w tym wierszu? Wewnątrz znacznika skryptu Jvascript lub gdzieś indziej, jeśli możesz udostępnić trochę więcej kodu, być może uda mi się poprowadzić Cię lepiej. –

+0

musisz umieścić '' ', ponieważ znacznik czasu jest ciągiem – hjpotter92

+0

@ChasingDeath: Oczywiście,' date' zwraca ciąg znaków w PHP, ale określając format jako "U", tak naprawdę jest to wartość całkowita (nawet jeśli zmienna type to 'string'). Javascript nadal przyjmuje go jako liczbę całkowitą, więc to nie jest problem.Tak naprawdę, myślę, że jedynym problemem jest to, że musi go pomnożyć przez 1000, aby przekonwertować go na milisekundy .. – Travesty3

Odpowiedz

26

Spróbuj tego:

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

wyjaśnienie:

strtotime funkcja PHP zwraca uniksowy znacznik czasu (w sekundach od 1-1-1970 o północy).

Funkcja JavaScript można utworzyć w języku Date(), podając milisekund od 1 do 1970 o północy.

Pomnóżmy sekundy przez 1000 i otrzymamy milisekundy, których można użyć w JavaScript.

+0

Miło, dziękuję! – Ben

0

Można to wykorzystać:

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

będzie uporządkować problem

Objaśnienie:

Check Here

1

myślę, że bardzo proste i bardziej uniwersalnym rozwiązaniem byłoby

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

Dziękuję, to bardzo ułatwiło mi życie. – Evert

Powiązane problemy