将日期更改为00:00:00格式

时间:2018-06-21 06:23:03

标签: javascript typescript

数据库以这种格式保存时间戳-03:59:59。我也使用第三方插件(自动完成框),它返回Date对象。我设法在插件中使用数据库中的数据,如下所示:

if (value) {
    let splitTime = value.split(':')
    date = new Date()
    // If ...splitTime (spread operator) is used in below, compiler throws exeption - "Expected 1 or 4 arguments but got 0 or more" (I consider it as TS bug)
    date.setHours(splitTime[0], splitTime[1], splitTime[2]);
    // now I can use date string in my plugin
}

有没有简单的方法可以将Date对象转换为00:00:00格式?在开始时,它看起来很难看:

'' + args.value.getHours() + ':' + args.value.getMinutes() + ':' + args.value.getSeconds())

结果仍然不是所需的:

  

// => 3:59:59

(注意-3不是03)

1 个答案:

答案 0 :(得分:2)

以下是我评论的示例:

function formatDate(date) {

    return (('0' + date.getHours()).slice(-2) +
        ':' +
        ('0' + date.getMinutes()).slice(-2) +
        ':' +
        ('0' + date.getSeconds()).slice(-2));
}

console.log(formatDate(new Date(2018, 6, 21, 1, 1, 1)));