如何在 DateTime 中添加零

如果小时、分钟和秒小于 9,我们应该做另外的工作来在 DateTime 中添加前导零。
我们应该添加一个自定义方法来在 DateTime 中添加前导零:

function addLeadingZeros(n) {
  if (n <= 9) {
    return "0" + n;
  }
  return n
}
let currentDatetime = new Date()
console.log(currentDatetime.toString());
let formattedDate = currentDatetime.getFullYear() + "-" + addLeadingZeros(currentDatetime.getMonth() + 1) + "-" + addLeadingZeros(currentDatetime.getDate()) + " " + addLeadingZeros(currentDatetime.getHours()) + ":" + addLeadingZeros(currentDatetime.getMinutes()) + ":" + addLeadingZeros(currentDatetime.getSeconds())
console.log(formattedDate);

Date 对象用于在 JavaScript 中表示日期和时间。
它包括两者。
通常,月份从零开始,以 11 结束。
工作日也从零开始计算。
在 JavaScript 中,日期可能会被减去并以毫秒为单位给出它们的差异,因为日期在转换为数字时会转换为时间戳。
时间戳以毫秒为单位,而不是秒。

Dateformat方法

dateformat 与前面的方法类似,它使用标记字符串格式化日期。
如果浏览器端 datetime 将扩展 Date 对象以具有 .format() 方法:

today = new Date();
today.format('dd-m-yy'); //Returns '02-8-16'

但是,它与 Node.js 版本的工作方式不同。
我们应该使用 dateformat 作为方法并传递 Date 对象:

const dateformat = require('dateformat');
let now = new Date();
dateformat(now, 'dddd, mmmm dS, yyyy, h:MM:ss TT');
'Tuesday, Nov 2nd, 2016, 4:30:20 PM'

Date.toLocaleString() 方法

这是一种非标准方法,但有时,这可能是唯一的选择。
此方法仅在某些浏览器的更高版本中支持。
尽管如此,在 Node 的情况下,它可能是一个不错的选择。
与上述两种方法不同,Date.toLocaleString() 不使用令牌字符串。
它使用一个选项对象,其中可以配置日期的每个部分。
格式化可以通过 .toLocaleString() 完成:

let today = new Date();
today.toLocaleFormat('%d-%b-%Y'); //30-Jun-2016

Moment.js 方法

Moment.js 是最好的日期/时间库之一。
它易于使用、有据可查,并且尺寸缩小 (20kb)。
它可以与 Node.js 和 JavaScript 一起运行,这很棒,因为我们不必学习几个用于前端和后端编程的日期/时间库。

moment().format('YYYY-MM-DD HH:m:s'); //now() -> 2016-03-20 14:32:20
moment("20141031", "YYYYMMDD").fromNow(); //3 years ago
moment("20150620", "YYYYMMDD").fromNow(); //3 years ago
moment().startOf('day').fromNow(); //11 hours ago
moment().endOf('day').fromNow(); //in 13 hours

.format() 方法构造了一个标记字符串,这些标记引用日期的特定组件(如日、月、分钟或者上午/下午)。

JavaScript如何格式化日期

格式化 JavaScript 日期是很常见的事情。

相当多的申请日期是用 JavaScript 代码格式化的。

有一些方法和库用于格式化日期。
让我们分别考虑它们中的每一个。

日期:2020-06-02 22:16:18 来源:oir作者:oir