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)); ?>);
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)); ?>);
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.
Miło, dziękuję! – Ben
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:
myślę, że bardzo proste i bardziej uniwersalnym rozwiązaniem byłoby
var dateTime = <?php echo date('c', strtotime($yourDateTime)) ?>;
Dziękuję, to bardzo ułatwiło mi życie. – Evert
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. –
musisz umieścić '' ', ponieważ znacznik czasu jest ciągiem – hjpotter92
@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