如何以“年 - 月 - 小时:分钟:秒”的格式获取当前日期?

时间:2018-02-11 07:16:28

标签: javascript jquery date datetime time

我想知道如何以这种格式获取当前日期:

“年 - 月 - 日时:分:秒”

要像“2018-02-11 00:00:00”

如何实现它?

2 个答案:

答案 0 :(得分:1)

有几种方法可以获得你想要的输出。不幸的是,没有built-in formatter可以获得您指定的确切格式。

这意味着您需要一个自定义函数,它还会处理“填充”(将值置于10以下的值前面)和尴尬的月份为0(0 = januari,1 = februari等等上)。

例如

function dateComponentPad(value) {
  var format = String(value);

  return format.length < 2 ? '0' + format : format;
}

function formatDate(date) {
  var datePart = [ date.getFullYear(), date.getMonth() + 1, date.getDate() ].map(dateComponentPad);
  var timePart = [ date.getHours(), date.getMinutes(), date.getSeconds() ].map(dateComponentPad);

  return datePart.join('-') + ' ' + timePart.join(':');
}

console.log(formatDate(new Date()));

为了解释发生了什么,formatDate需要一个Date对象,并从中收集日期和时间部分,并根据需要将要填充的值映射为0(确保最小字符串长度为2)。接下来,使用所需的符号将日期和时间部分连接在一起。

如果您计划将日期用于除向用户显示之外的任何内容(例如在服务器上处理和/或将其存储在数据库中),您真的想要查看内置的{{ 3}}方法,因为它是日期/时间表示法的标准,它适用于不同的时区。

答案 1 :(得分:-1)

最好使用https://momentjs.com/日期时间格式。

像 时刻()。格式(&#39; MMMM Do YYYY,h:mm:ss a&#39;); // 2018年2月11日,下午1:02:39