您的位置 首页 > 数码极客

js如何格式化输出日期、js当前日期格式化…

获取当前时间,格式为:2020/07/04 17:00(此时此刻)

获取指定时间,格式为:2020/07/05 17:00(一天后,即明天的此时此刻)

一、实现思路

1. 创建一个方法,将传入的日期对象处理后,返回指定格式的字符串,先贴上代码:

// 格式化 日期时间 function formatDateTime(date = new Date()) { //不传Date则默认当前时间 let year = da(); let month = da() + 1; let day = da(); let hour = da(); let minute = da(); let second = da(); // 不足两位,添“0” month = month < 10 ? "0" + month: month; day = day < 10 ? "0" + day: day; hour = hour < 10 ? "0" + hour: hour; minute = minute < 10 ? "0" + minute: minute; second = second < 10 ? "0" + second: second; return year + "/" + month + "/" + day + " " + hour + ":" + minute + ":" + second; } // 此时此刻 let today = formatDateTime(); con("此时此刻:", today); // 明天的此时此刻 let t = new Date().getTime() + 60 * 60 * 24 * 1000; //24小时后的时间戳 let tomorrow = formatDateTime(new Date(t)); con("明天的此时此刻:", tomorrow);

2. 代码解析:

formatDateTime():传入Date对象,获取年月日、时分秒,返回处理后的日期时间字符串;

today:调用时不传参,即获取此时此刻的日期字符串;

tomorrow:参数为明天(此时此刻)的日期字符串;

t = new Date().getTime() + 60 * 60 * 24 * 1000:当前时间戳 + 24小时的毫秒值 = 明天(此时此刻)的时间戳,且new Date(t)将时间戳转为Date对象,最终得到明天(此时此刻)的日期字符串。

控制台输出:

此时此刻: 2020/07/04 17:00明天的此时此刻: 2020/07/05 17:00

二、代码优化

1. 基于以上思路,再加入多个参数,实现自定义分隔符等,同样先贴出代码:

// 格式化 日期时间 function formatDateTime(date = new Date(), p1 = "-", p2 = ":") { let year = da(); let month = da() + 1; let day = da(); let hour = da(); let minute = da(); let second = da(); return [year, month, day].map(formatNumber).join(p1) + " " + [hour, minute, second].map(formatNumber).join(p2); } // 格式化 日期数字 function formatNumber(n) { n = n.toString(); return n[1] ? n: "0" + n; } // 此时此刻 let today = formatDateTime(undefined, "/"); con("此时此刻:", today); // 明天的此时此刻 let t = new Date().getTime() + 60 * 60 * 24 * 1000; //24小时后的时间戳 let tomorrow = formatDateTime(new Date(t), "/"); con("明天的此时此刻:", tomorrow);

2. 代码解析:

formatDateTime():加入分隔符参数,不传则使用默认值;

formatNumber():数字不足两位,在前面补“0”并返回;

today:传入undefined,判断不存在,即使用默认值;

tomorrow:传入自定义的日期对象。

控制台输出:

此时此刻: 2020/07/04 17:00

明天的此时此刻: 2020/07/05 17:00

三、更多

或者改为箭头函数:

// 格式化 日期时间 var formatDateTime = (date = new Date(), p1 = "-", p2 = ":") =>{ let year = da(); let month = da() + 1; let day = da(); let hour = da(); let minute = da(); let second = da(); return [year, month, day].map(formatNumber).join(p1) + " " + [hour, minute, second].map(formatNumber).join(p2); }; // 格式化 日期数字 var formatNumber = (n) =>{ n = n.toString(); return n[1] ? n: "0" + n; };

私信发送:200704,获取代码文件(和文中内容一致)


责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“js如何格式化输出日期,js当前日期格式化,js字符串格式化输出,js,格式化日期,js格式化日期字符串,js格式化日期yyyymmdd,hh:mm:ss”边界阅读