大家好,又见面了,我是你们的朋友全栈君。
两种方法
方法一
- 使用两个api toLocaleDateString() 和 toTimeString() 加 正则表达式,简洁写法,推荐! 还可以更改为以 点(.) 连接 —— 正则表达式
代码
代码语言:javascript复制let newDate = new Date();
this.date = newDate.toLocaleDateString().replace(///g, "-") " " newDate.toTimeString().substr(0, 8);
结果
缺点
月份不能是 03的形式,而是 2021-3-21 除非自己再拼接一下
解析:
① toLocaleDateString() 方法 可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。 返回结果 2021/3/12 的形式 正则表达式 ///g 不加引号,g代表全局,不能用 / 代表转义
toTimeString() 方法 可把 Date 对象的时间部分转换为字符串,并返回结果。 返回结果 14:45:03 GMT 0800 (中国标准时间) 截取前9位拼接即可
方法二
- 使用常见的Date中的函数,进行判断、拼接
代码
代码语言:javascript复制function formatDate(date) {
let myYear = date.getFullYear();
let myMonth = date.getMonth() 1;
let myWeekday = date.getDate();
let myHour = date.getHours();
let myMinute = date.getMinutes();
let mySecond = date.getSeconds();
if (myMonth < 10) {
myMonth = '0' myMonth;
}
if (myWeekday < 10) {
myWeekday = '0' myWeekday;
}
if (myHour < 10) {
myHour = '0' myHour;
}
if (myMinute < 10) {
myMinute = '0' myMinute;
}
if (mySecond < 10) {
mySecond = '0' mySecond;
}
return (`${
myYear}-${
myMonth}-${
myWeekday} ${
myHour}:${
myMinute}:${
mySecond}`);
}
console.log(formatDate(new Date()));
结果
解析
通过上面函数获得年月日时分秒,然后进行拼接,难点是getMonth记得 1(月份是从0开始)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179221.html原文链接:https://javaforall.cn