首页 > 解决方案 > 如何使用 javascript/jquery 获得这种时间戳格式?

问题描述

我想得到这种格式:

2019-03-24 15:05:20

这是我尝试过的:

var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time;

我有:

2019-3-24 15:0:20

它缺少前导零。

标签: javascriptjquery

解决方案


那是因为小于 10 的数字应该用零填充,但事实并非如此。

您可以使用padStart函数来实现预期的结果 - 如果数字的长度小于 2,则添加前导 0 字符。我稍微修改了您的代码,但您只需要.toString().padStart(2, '0')在数字上使用即可。

var today = new Date();

var date = [
  today.getFullYear(),
  today.getMonth() + 1,
  today.getDate(),
].map((value) => value.toString().padStart(2, '0')).join('-');

var time = [
  today.getHours(),
  today.getMinutes(),
  today.getSeconds(),
].map((value) => value.toString().padStart(2, '0')).join(':');;


var dateTime = date + ' ' + time;
console.log(dateTime);


推荐阅读