寻找一种创造性的方法来确保来自javascript Date对象的getHours,getMinutes和getSeconds()方法的值返回"06"
而不是6
(例如).有什么参数我不知道吗?显然,我可以编写一个函数,通过检查长度并预先设置"0"
if需要来完成它,但我认为可能会有更精简的东西.
谢谢.
And*_*y E 54
与@ jdmichal的解决方案类似,发布是因为我更喜欢更短的东西:
function pad(n) { return ("0" + n).slice(-2); }
pad(6); // -> "06"
pad(12); // -> "12"
Run Code Online (Sandbox Code Playgroud)
Date.prototype
您可以将此方法添加到Number.prototype
:而不是添加单个方法.
Number.prototype.pad = function (len) {
return (new Array(len+1).join("0") + this).slice(-len);
}
// Now .pad() is callable on any number, including those returned by
var time = date.getHours().pad(2) + ":"
+ date.getMinutes().pad(2) + ":"
+ date.getSeconds().pad(2);
Run Code Online (Sandbox Code Playgroud)
jdm*_*hal 30
据我所知,没有.我一直这样做,将日期转换为XML dateTime格式.
同样重要的是要注意,列出的那些方法会返回一个数字,而不是字符串.
当然,您可以通过修改自己添加这些内容Date.prototype
.
let d = new Date()
let h = `${d.getHours()}`.padStart(2, '0')
let m = `${d.getMinutes()}`.padStart(2, '0')
let s = `${d.getSeconds()}`.padStart(2, '0')
let displayDate = h + ":" + m + ":" + s
// Possible Output: 09:01:34
Run Code Online (Sandbox Code Playgroud)
小智 12
function pad2(number) {
return (number < 10 ? '0' : '') + number
}
document.write(pad2(2) + '<br />');
document.write(pad2(10) + '<br />');
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
02
10
归档时间: |
|
查看次数: |
22178 次 |
最近记录: |