2011-09-09 11 views

Odpowiedz

107

Powinieneś sprawdzić kod Date object. W szczególności można przyjrzeć się metodzie getHours() dla obiektu Date.

getHours() zwraca czas od 0 do 23, więc upewnij się, że postępujesz zgodnie z nim. Myślę, że 0-23 jest nieco bardziej intuicyjny, ponieważ czas militarny wynosi od 0 do 23, ale to zależy od ciebie.

Mając to na uwadze, kod byłoby coś wzdłuż linii:

var date = new Date(); 
var current_hour = date.getHours(); 
+2

co zaokrąglania? – TIMEX

+0

Jeśli masz na myśli zaokrąglanie z minutami (jak w 1:45 -> 2:00), możesz użyć metody getMinutes() dla obiektu Date. – jtsao22

117

Ta funkcja zwróci Ci datę i godzinę w następującym formacie: YYYY:MM:DD:HH:MM:SS. Działa również w Node.js.

function getDateTime() { 

    var date = new Date(); 

    var hour = date.getHours(); 
    hour = (hour < 10 ? "0" : "") + hour; 

    var min = date.getMinutes(); 
    min = (min < 10 ? "0" : "") + min; 

    var sec = date.getSeconds(); 
    sec = (sec < 10 ? "0" : "") + sec; 

    var year = date.getFullYear(); 

    var month = date.getMonth() + 1; 
    month = (month < 10 ? "0" : "") + month; 

    var day = date.getDate(); 
    day = (day < 10 ? "0" : "") + day; 

    return year + ":" + month + ":" + day + ":" + hour + ":" + min + ":" + sec; 

} 
+0

Aww. '(new Date()). toJSON(). slice (0, 19) .replace (/ [- T]/g, ':')' – user3125367

+0

@ user3125367 Nice one! Jeśli potrzebna jest elastyczność w formatowaniu daty, moja może działać lepiej. :-) –

11

Obie wcześniejsze odpowiedzi to zdecydowanie dobre rozwiązania. Jeśli masz dostęp do biblioteki, lubię moment.js - to znacznie więcej niż tylko pobieranie/formatowanie daty.

8

Sprawdź bibliotekę moment.js. Działa z przeglądarkami, jak również z Node.JS. Pozwala na pisanie

moment().hour(); 

lub

moment().hours(); 

bez uprzedniej pisemnej jakichkolwiek funkcji.

0

Aby uruchomić węzeł w strefie czasowej PST, użyj następującego polecenia w Ubuntu.

TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start & 

wtedy można odnieść Date Library dostać obliczania niestandardowe funkcje daty i czasu w węźle.

Aby skorzystać z tej strony klienta, należy pobrać this link, pobrać pliki index.js i assertHelper.js i dołączyć je do kodu HTML.

<script src="assertHelper.js"></script> 
<script type="text/javascript" src="index.js"></script> 
$(document).ready(function() { 
    DateLibrary.getDayOfWeek(new Date("2015-06-15"),{operationType:"Day_of_Week"}); // Output : Monday 
} 

Można używać różnych funkcji, jak podano w przykładach dostać dat niestandardowych.

Jeśli pierwszym dniem tygodnia jest niedziela, co dzień będzie 15 czerwca 2015.

DateLibrary.getDayOfWeek(new Date("2015-06-15"), 
    {operationType:"Day_Number_of_Week", 
     startDayOfWeek:"Sunday"}) // Output : 1 

Jeśli pierwszym dniem tygodnia jest piątek, co tydzień liczba w roku będzie obserwacji w 15 czerwca 2015 jako jedna z dat.

DateLibrary.getWeekNumber(new Date("2015-06-15"), 
    {operationType:"Week_of_Year", 
     startDayOfWeek:"Tuesday"}) // Output : 24 

Skorzystaj z innych funkcji, aby spełnić niestandardowe wymagania dotyczące daty.

1

Istnieje metoda łatwiejsza do napisania i wykonania tej samej funkcji.

var date = new Date(); 
var hours = date.getHours(); 

Jest łatwy w użyciu:

var hours = (new Date()).getHours();

+3

Wydaje się to być bardzo niewielką poprawą, która utrudnia czytelność. –

Powiązane problemy