Moim celem jest przekonwertowanie znacznika czasu z MySQL na obiekt Date JavaScript w efektywny sposób. Tu jest mój bieżący fragment, który przetwarza datownika MySQL w sformatowanej daty w PHP:JavaScript Data Indeks miesiąca obiektu zaczyna się od 0
<?php
// formats timestamp into following format: 2009, 7, 30
$date = date("Y, n, j", strtotime($row["date"]));
?>
jestem następnie za pomocą tego $date
wartości dla wykresu przy użyciu wykresów API Google'a, który wymaga JavaScript obiekt Date:
data.setValue(<?=$count;?>, 0, new Date(<?=$date;?>));
Problem polega na tym, że obiekt Date JavaScript zaczyna indeks miesiąca od 0, więc dane wyjściowe zawsze wynoszą 1 miesiąc z wyprzedzeniem. Jaki jest najskuteczniejszy sposób radzenia sobie z tym problemem?
Z góry dziękuję!
tytuł tego wpisu sugeruje, że jesteś zszokowany tym, że indeks byłby równy zeru. lol sensacyjny – Kristian
Masz rację. Ten post był 3 lata temu. Teraz, kiedy na to patrzę, to zabawne, że zaskoczył mnie indeks zaczynający się od 0 =) –
Myślę, że twoja niespodzianka była w tym przypadku uzasadniona: wartość miesiąca zindeksowana jest całkowicie nieintuicyjna. Twórcy JavaScripta nie byli w stanie zindeksować wartości dnia ani wartości roku (nie było roku 0, więc rok zindeksowany byłby wyłączony o jeden). Dlaczego ta logika nie przeniesiona do kolumny miesiąca jest niezrozumiała. –