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(), //小時(shí) "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這個(gè)是時(shí)間字符
yyyy-MM-dd和YYYY-MM-dd格式化日期的區(qū)別你知道嗎?
這里yyyy-MM-dd對于年份取值取得是當(dāng)天所在的這個(gè)年份
而YYYY-MM-dd它所取的年份是本周所在的這個(gè)年份
這里我們就要注意一個(gè)問題
如果我們所格式化的這個(gè)日期它所在的周是一個(gè)跨年周的話 , 那么這里所取的年份就是第二年的年
接下來我們找一個(gè)case驗(yàn)證一下:
通過查看日歷我們可以看到2021年12月31號它所在的周是一個(gè)跨年周
它這周開始于21年12月26號,結(jié)束于22年1月2號
接下來我們來演示一下
首先看代碼我們分別創(chuàng)建了yyyy和YYYY兩種日期格式化
然后生成了12月31號的這個(gè)日期
然后分別用這兩種格式化對這兩種日期進(jìn)行輸出
出大問題了
通過輸出可以看到YYYY輸出的日期是2022年,yyyy輸出的日期是2021年
這就是它們兩個(gè)的區(qū)別
在平時(shí)的開發(fā)中尤其對于會員啊,投放啊這種日期敏感型的場景,一定避免使用YYYY這種日期敏感型格式,避免造成不必要的線上故障
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS運(yùn)動框架之分享側(cè)邊欄動畫實(shí)例
這篇文章主要介紹了JS運(yùn)動框架之分享側(cè)邊欄動畫,實(shí)例分析了javascript操作div及css的技巧,需要的朋友可以參考下2015-03-03JavaScript獲取GridView中用戶點(diǎn)擊控件的行號,列號
GridView中的某幾列有按鈕,需要獲取用戶當(dāng)前點(diǎn)的按鈕的行號(捎帶的得到列號)2009-04-04JS前端知識點(diǎn)總結(jié)之頁面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支
這篇文章主要介紹了JS前端知識點(diǎn)總結(jié)之頁面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支,結(jié)合實(shí)例形式總結(jié)分析了JS頁面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支所涉及的相關(guān)事件、函數(shù)及操作注意事項(xiàng),需要的朋友可以參考下2019-07-07Layui 導(dǎo)航默認(rèn)展開和菜單欄選中高亮設(shè)置的方法
今天小編就為大家分享一篇Layui 導(dǎo)航默認(rèn)展開和菜單欄選中高亮設(shè)置的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09bootstrap table 數(shù)據(jù)表格行內(nèi)修改的實(shí)現(xiàn)代碼
這篇文章主要介紹了bootstrap table 數(shù)據(jù)表格行內(nèi)修改的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02js動態(tài)添加表格逐行添加、刪除、遍歷取值的實(shí)例代碼
最近做項(xiàng)目遇到這樣的需求,要求表格添加一行,表格刪除一行,表格遍歷取值等。下面小編給大家?guī)砹薺s動態(tài)添加表格逐行添加、刪除、遍歷取值的實(shí)例代碼,需要的朋友參考下2018-01-01