如何在javascript/Node.js中获取时间?

TIM*_*MEX 93 javascript datetime date node.js

我希望得到1到 24,1是太平洋时间凌晨1点.

我怎样才能在Node.JS中获得该号码?

我想知道太平洋时间现在几点了.

Ion*_*zău 148

此功能将按以下格式返回日期和时间: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;

}
Run Code Online (Sandbox Code Playgroud)

  • 噢.`(new Date()).toJSON().slice(0,19).replace(/ [ - T]/g,':')` (9认同)
  • @ user3125367好一个!如果在格式化日期时需要灵活性,那么我的工作可能会更好.:-) (3认同)

小智 139

你应该签出Date对象.

特别是,您可以查看Date对象的getHours()方法.

getHours()返回0到23之间的时间,因此请务必相应地处理它.我认为0-23更直观,因为军事时间从0到23,但这取决于你.

考虑到这一点,代码将是:

var date = new Date();
var current_hour = date.getHours();
Run Code Online (Sandbox Code Playgroud)

  • MDN 链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date。不要链接到“W3C 学校”假垃圾 (3认同)
  • 四舍五入呢? (2认同)

use*_*149 16

看看moment.js图书馆.它适用于浏览器以及Node.JS. 允许你写

moment().hour();
Run Code Online (Sandbox Code Playgroud)

要么

moment().hours();
Run Code Online (Sandbox Code Playgroud)

没有事先写任何功能.


小智 13

两个先前的答案绝对是好的解决方案 如果你适合图书馆,我喜欢moment.js - 它不仅仅是获取/格式化日期.


p2l*_*dev 8

有一种方法更容易编写并执行相同的功能.

const date = new Date();
let hours = date.getHours();
Run Code Online (Sandbox Code Playgroud)

它易于使用:

__CODE__

  • 这似乎是一个非常小的改进,阻碍了可读性. (6认同)

小智 6

如果您只想要时间字符串,您可以使用此表达式(使用简单的 RegEx):

new Date().toISOString().match(/(\d{2}:){2}\d{2}/)[0]
// "23:00:59"
Run Code Online (Sandbox Code Playgroud)