数据库以这种格式保存时间戳-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)
答案 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)));