欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js日期格式化yyyy-MM-dd問題

 更新時間:2023年01月21日 09:39:17   作者:sunsineq  
這篇文章主要介紹了js日期格式化yyyy-MM-dd問題,具有很好的參考價值,希望對大家大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

js日期格式化yyyy-MM-dd

方法一

function formatDate(date) {
console.log(date);
// date = new Date();
date = new Date(Date.parse(date.replace(/-/g, "/"))); //轉(zhuǎn)換成Data();
console.log(date);
var y = date.getFullYear();
console.log(y);
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
}

方法二

Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
}

方法二調(diào)用:

new Date(addtime).format("yyyy-MM-dd"); ? //addtime這個是時間字符

yyyy-MM-dd和YYYY-MM-dd格式化日期的區(qū)別你知道嗎?

這里yyyy-MM-dd對于年份取值取得是當天所在的這個年份

而YYYY-MM-dd它所取的年份是本周所在的這個年份

這里我們就要注意一個問題

如果我們所格式化的這個日期它所在的周是一個跨年周的話 , 那么這里所取的年份就是第二年的年

接下來我們找一個case驗證一下:

通過查看日歷我們可以看到2021年12月31號它所在的周是一個跨年周

它這周開始于21年12月26號,結(jié)束于22年1月2號

接下來我們來演示一下

首先看代碼我們分別創(chuàng)建了yyyy和YYYY兩種日期格式化

然后生成了12月31號的這個日期

然后分別用這兩種格式化對這兩種日期進行輸出

出大問題了

通過輸出可以看到YYYY輸出的日期是2022年,yyyy輸出的日期是2021年

這就是它們兩個的區(qū)別

在平時的開發(fā)中尤其對于會員啊,投放啊這種日期敏感型的場景,一定避免使用YYYY這種日期敏感型格式,避免造成不必要的線上故障

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論