您将如何重构它?
var myDate = new Date()
var myYear = myDate.getFullYear()
var myMonth = myDate.getMonth()
if (myMonth < 10) {
myMonth = '0' + myMonth
}
var myDay = myDate.getDate()
if (myDay < 10) {
myDay = '0' + myDay
}
var myHour = myDate.getHours()
if (myHour < 10) {
myHour = '0' + myHour
}
var myMinute = myDate.getMinutes()
if (myMinute < 10) {
myMinute = '0' + myMinute
}
var mySecond = myDate.getSeconds()
if (mySecond < 10) {
mySecond = '0' + mySecond
}
document.getElementById('myDate').innerHTML = myYear + myMonth + myDay + myHour + myMinute + mySecond
<div id="myDate"></div>
最佳答案
使用 moment.js 库,您可以将格式化规则减少到一行。
请参阅moment.js display Docs了解详情。请注意,与现有代码有所不同:JavaScript 存储从 0 到 11 的月份,这意味着 10 月存储为 9,而最有可能的是,我们希望显示“10”。
var myDate = new Date();
document.getElementById('momentFormatted').innerHTML =
moment(myDate).format("YYYYMMDDHHmmss");
var myYear = myDate.getFullYear()
var myMonth = myDate.getMonth()
if (myMonth < 10) {
myMonth = '0' + myMonth
}
var myDay = myDate.getDate()
if (myDay < 10) {
myDay = '0' + myDay
}
var myHour = myDate.getHours()
if (myHour < 10) {
myHour = '0' + myHour
}
var myMinute = myDate.getMinutes()
if (myMinute < 10) {
myMinute = '0' + myMinute
}
var mySecond = myDate.getSeconds()
if (mySecond < 10) {
mySecond = '0' + mySecond
}
document.getElementById('myDate').innerHTML = myYear + myMonth + myDay + myHour + myMinute + mySecond
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<div id="myDate"></div>
<hr>
With Moment.js:
<div id="momentFormatted"></div>
关于javascript - 在 JavaScript 中使用月/日/小时/分钟/秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32895485/