网站伪静态规则修改、转化一站式全搞定,14年经验,快速做好,包可用。

js获得日期,是比较灵活的。但确实也牵涉到一些逻辑上的东西,比如说一个月最后一天的处理。比如今天是:2022-1-5,那么明天呢,就是日期+1,但如果月末,有可能是30号,也可以是31号,这怎么处理,最近思考了一下,决定这样写,更简单一些:
var date_today=new Date();
var today=date_today.getFullYear()+'-'+(date_today.getMonth()+1)+'-'+date_today.getDate();
结果实例:2022-1-5
思路:获得当前的时间戳,然后加1天,得出明天时间戳,然后再转成想要的格式:
var date_tomorrow=new Date(Date.parse(new Date())+24*60*60*1000);
var tomorrow=date_tomorrow.getFullYear()+"-" + (date_tomorrow.getMonth()+1) +"-"+date_tomorrow.getDate();
结果实例:2022-1-6
思路:获得当前的时间戳,然后加1天,得出明天时间戳,然后再转成想要的格式:
var date_day7=new Date(Date.parse(new Date())-7*24*60*60*1000);
var day7=date_day7.getFullYear()+"-" + (date_day7.getMonth()+1) +"-"+date_day7.getDate();
结果实例:2021-12-29
结论:通过时间戳,进行日期的计算,更容易,更易读。
当然,这个获得日期比较简单,没有特别的格式要求,如果是有的要求月份、日期两位数,或者各种格式要求的,可以用以下方法:
function dateFormat(fmt,date) {
let ret;
const opt = {
"Y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"S+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
}
用法:
let date = new Date();
dateFormat("YYYY-mm-dd HH:MM", date);
结果:2019-06-06 19:45
十六年网站建设相关经验
一站式为您提供网站相关服务
还没有人来评论,快来抢个沙发吧!