Как узнать время суток в javascript / Node.js? - PullRequest
91 голосов
/ 09 сентября 2011

Я хочу получить от 1 до 24 , 1 - 1:00 по тихоокеанскому времени.

Как я могу получить этот номер в Node.JS?

Я хочу знать, который сейчас час по тихоокеанскому времени.

Ответы [ 8 ]

145 голосов
/ 07 мая 2013

Эта функция вернет вам дату и время в следующем формате: YYYY:MM:DD:HH:MM:SS.Это также работает в 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;

}
136 голосов
/ 09 сентября 2011

Вы должны оформить объект Date .

В частности, вы можете посмотреть на метод getHours () для объекта Date.

getHours () возвращает время от 0 до 23, поэтому убедитесь, что с ним обращаетесь соответствующим образом.Я думаю, что 0-23 немного более интуитивно понятен, поскольку военное время начинается с 0 - 23, но это зависит от вас.

Учитывая это, код будет выглядеть примерно так:

var date = new Date();
var current_hour = date.getHours();
16 голосов
/ 27 декабря 2015

Проверьте библиотеку moment.js.Работает как с браузерами, так и с Node.JS.Позволяет писать

moment().hour();

или

moment().hours();

без предварительного написания каких-либо функций.

13 голосов
/ 01 января 2014

Оба предыдущих ответа, безусловно, хорошие решения.Если вы подходите для библиотеки, мне нравится moment.js - это намного больше, чем просто получение / форматирование даты.

8 голосов
/ 21 января 2017

Есть нативный метод для работы с датой

const date = new Date();
let hours = date.getHours();
0 голосов
/ 24 июня 2019

Если вам нужна только строка времени, вы можете использовать это выражение (с простым RegEx):

new Date().toISOString().match(/(\d{2}:){2}\d{2}/)[0]
// "23:00:59"
0 голосов
/ 23 июня 2019
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = (month < 10 ? "0" : "") + month;
var hour = date.getHours();
hour = (hour < 10 ? "0" : "") + hour;
var day  = date.getDate();
day = (hour > 12 ? "" : "") + day - 1;
day = (day < 10 ? "0" : "") + day;
x = ":"
console.log( month + x + day + x + year )

Будет отображаться дата в месяце, дне, затем в году

0 голосов
/ 03 ноября 2016

Чтобы запустить свой узел в часовом поясе PST, используйте следующую команду в Ubuntu.

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

Затем Вы можете сослаться на Библиотека дат , чтобы получить пользовательские функции вычисления даты и времени в узле..

Чтобы использовать его на стороне клиента, обратитесь к этой ссылке , загрузите index.js и assertHelper.js и включите ее в свой 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
}

Youмогут использовать различные функции, как указано в примерах, для получения пользовательских дат.

Если первый день недели - воскресенье, то какой день будет 15 июня 2015 года.

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

Если первыйдень недели - вторник, за каким номером недели в году будет следовать 15 июня 2015 года как одна из дат.

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

Обратитесь к другим функциям, чтобы выполнить требования к пользовательской дате.

...