我想知道如何以这种格式获取当前日期:
“年 - 月 - 日时:分:秒”
要像“2018-02-11 00:00:00”
如何实现它?
答案 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