【发布时间】:2017-06-04 14:50:32
【问题描述】:
【问题讨论】:
-
正确。有什么问题?
-
日期和时间从何而来?输出应该去哪里?
标签: javascript html date datetime format
【问题讨论】:
标签: javascript html date datetime format
一种可能的实现方式
Date 构造函数创建一个新日期。在这种情况下,我们将分别传入年、月、日、小时、分钟和秒。这里有几件事要记住。月份从 0 而不是 1 开始,因此要获得一年中的第三个月(3 月),您必须传入 2。小时范围从 0 到 23,因此我们需要传入 17 而不是 5。test 函数的正则表达式。根据日期的字符串实现,我们将返回不同的后缀。${} 中,并将字符串放在反引号中。var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
// Create a new date object and variables based upon this object
var date = new Date(2012,2,13,17,8,57);
var year = date.getFullYear();
var month = months[date.getMonth()];
var day = date.getDate();
var dayName = days[date.getDay()];
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
// Control formatting of time
var timePeriod = hour > 12 ? "PM" : "AM";
hour = hour < 10 ? "0" + hour : hour > 12 ? ((hour % 12) < 10 ? "0" + hour % 12 : hour % 12) : hour;
minute = minute < 10 ? "0" + minute : minute;
second = second < 10 ? "0" + second : second;
// Return the suffix of the day
day = /[4567890]$|11|12|13/.test(day) ? day + "th" :
/^1$|21|31/.test(day) ? day + "st" :
/^2$|22/.test(day) ? day + "nd" : day + "rd";
// Log the results
console.log(`${dayName} ${month} ${day}, ${year}, ${hour}:${minute}:${second} ${timePeriod}`);
【讨论】:
您可以考虑当前日期格式。 Momentjs 是一个非常好的库,它提供了日期格式 momentjs
检查这个sn-p
console.log(moment().format('LLLLL')); // J
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
【讨论】: