亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue日期時(shí)間工具類(lèi)詳解

 更新時(shí)間:2022年06月24日 09:04:51   作者:談?wù)劦男那? 
這篇文章主要為大家詳細(xì)介紹了vue日期時(shí)間工具類(lèi),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近做的一個(gè)項(xiàng)目對(duì)日期時(shí)間的處理比較多,最后整理到一個(gè)工具類(lèi)里面,方便以后使用:

1. 在utils文件夾下新建一個(gè)dateTimeUtil.js文件:

// 獲取當(dāng)前時(shí)間并格式化
export function getCurrentTime(){
? var date = new Date()
? var month = date.getMonth() + 1
? var day = date.getDate()
? if (month <= 9) {
? ? month = '0' + month
? }
? if (day <= 9) {
? ? day = '0' + day
? }
? return date.getFullYear() + '-' + month + '-' + day + ' ?' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds()
}
?
// 時(shí)間格式化
export function formatTime(v) {
? var date = new Date(v)
? var month = date.getMonth() + 1
? var day = date.getDate()
? if (month <= 9) {
? ? month = '0' + month
? }
? if (day <= 9) {
? ? day = '0' + day
? }
? return date.getFullYear() + '-' + month + '-' + day + ' ?' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds()
}
?
// 日期格式化
export function formatDate(v) {
? var date = new Date(v)
? var month = date.getMonth() + 1
? var day = date.getDate()
? if (month <= 9) {
? ? month = '0' + month
? }
? if (day <= 9) {
? ? day = '0' + day
? }
? return date.getFullYear() + '-' + month + '-' + day
}
?
// 獲取前、后n天 https://www.cnblogs.com/aoqizhonghua/p/11775982.html
export function getRangeDate(num, time){
? let n = num;
? let d = '';
? if (time) {
? ? d = new Date(time);
? } else {
? ? d = new Date();
? }
? let year = d.getFullYear();
? let mon = d.getMonth() + 1;
? let day = d.getDate();
? if(day <= n) {
? ? ? if(mon > 1) {
? ? ? ? ? mon = mon - 1;
? ? ? } else {
? ? ? ? ? year = year - 1;
? ? ? ? ? mon = 12;
? ? ? }
? }
? d.setDate(d.getDate() - n);
? year = d.getFullYear();
? mon = d.getMonth() + 1;
? day = d.getDate();
? let s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
? return s;
}
?
//獲取某個(gè)月的起始、終止日期
export function getMonthDate(y, m){
? let start = new Date(y, m-1, 1)
? let year = start.getFullYear();
? let mon = start.getMonth() + 1;
? let day = start.getDate();
? let startDate = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day)
?
? let end = new Date((new Date(y, m, 0).getTime() + 24*60*60*1000)-1)
? let year1 = end.getFullYear();
? let mon1 = end.getMonth() + 1;
? let day1 = end.getDate();
? let endDate = year1 + "-" + (mon1 < 10 ? ('0' + mon1) : mon1) + "-" + (day1 < 10 ? ('0' + day1) : day1)
?
? return startDate + ' —— ' + endDate
}
?
/*
? 當(dāng)前日期是年的第幾周
? date1是當(dāng)前日期
? date2是當(dāng)年第一天
? d是當(dāng)前日期是今年第多少天
? 用d + 當(dāng)前年的第一天的周差距的和在除以7就是本年第幾周
*/
export function getYearWeek(a, b, c){
? var date1 = new Date(a, parseInt(b) - 1, c),
? ? ? date2 = new Date(a, 0, 1),
? ? ? d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000)
? ? ??
? return Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7)
}
?
// 計(jì)算某年某周的日期范圍 https://blog.csdn.net/lyhuo/article/details/82661063
export function weekGetDate(year, weeks){
? var date = new Date(year, "0", "1")
? var time = date.getTime() // 獲取當(dāng)前星期幾,0:星期一 ? ??
? var _week = date.getDay() ? ?//當(dāng)這一年的1月1日為周日時(shí)則本年有54周,否則沒(méi)有54周,沒(méi)有則去除第54周的提示 ? ?
? if(_week!=0){//一年53周情況
? ? if(weeks==54){
? ? ? return '-1' //今年沒(méi)有54周
? ? } ? ?
? ? var cnt=0// 獲取距離周末的天數(shù) ? ?
? ? if(_week==0){
? ? ? cnt = 7 ?
? ? }else if(_week==1){
? ? ? cnt = 6 ?
? ? }else if(_week==2){ ??
? ? ? cnt = 5
? ? }else if(_week==3){ ??
? ? ? cnt = 4
? ? }else if(_week==4){ ? ?
? ? ? cnt = 3
? ? }else if(_week==5){ ? ?
? ? ? cnt = 2
? ? }else if(_week==6){ ? ?
? ? ? cnt = 1
? ? } ? ?
? ? cnt += 1//加1表示以星期一為一周的第一天 ? ?// 將這個(gè)長(zhǎng)整形時(shí)間加上第N周的時(shí)間偏移 ? ?
? ? time += cnt*24*3600000 //第2周開(kāi)始時(shí)間?
? ? var nextYear = new Date(parseInt(year,10)+1,"0","1") ?
? ? var nextWeek = nextYear.getDay()
? ? var lastcnt = 0//獲取最后一周開(kāi)始時(shí)間到周末的天數(shù) ? ?
? ? if(nextWeek==0){ ? ?
? ? ? lastcnt = 6 ?
? ? }else if(nextWeek==1){ ? ?
? ? ? lastcnt = 0?
? ? }else if(nextWeek==2){ ? ?
? ? ? lastcnt = 1?
? ? }else if(nextWeek==3){?
? ? ? lastcnt = 2?
? ? }else if(nextWeek==4){ ? ?
? ? ? lastcnt = 3?
? ? }else if(nextWeek==5){ ? ?
? ? ? lastcnt = 4?
? ? }else if(nextWeek==6){ ? ?
? ? ? lastcnt = 5
? ? } ? ?
? ? if(weeks==1){//第1周特殊處理 ? ?// 為日期對(duì)象 date 重新設(shè)置成時(shí)間 time
? ? ? // var start = date.Format("yyyy-MM-dd");
? ? ? var start = date.toLocaleDateString().split('/').join('-')
? ? ? date.setTime(time-24*3600000)
? ? ? var end = date.toLocaleDateString().split('/').join('-')
? ? ? return start + "-----" + end
? ? }else if(weeks==53){//第53周特殊處理 ? ?
? ? ? var start = time+(weeks-2)*7*24*3600000 //第53周開(kāi)始時(shí)間 ? ?
? ? ? var end = time+(weeks-2)*7*24*3600000 + lastcnt*24*3600000 - 24*3600000 //第53周結(jié)束時(shí)間
? ? ? date.setTime(start)
? ? ? // var _start = date.Format("yyyy-MM-dd");
? ? ? var _start = date.toLocaleDateString().split('/').join('-')
? ? ? date.setTime(end)
? ? ? // var _end = date.Format("yyyy-MM-dd");
? ? ? var _end = date.toLocaleDateString().split('/').join('-')
? ? ? return _start + "---" ?+ _end
? ? }else{ ? ?
? ? ? var start = time+(weeks-2)*7*24*3600000 //第n周開(kāi)始時(shí)間 ? ?
? ? ? var end = time+(weeks-1)*7*24*3600000 - 24*3600000 //第n周結(jié)束時(shí)間
? ? ? date.setTime(start)
? ? ? // var _start = date.Format("yyyy-MM-dd");
? ? ? var _start = date.toLocaleDateString().split('/').join('-')
? ? ? date.setTime(end)
? ? ? // var _end = date.Format("yyyy-MM-dd");
? ? ? var _end = date.toLocaleDateString().split('/').join('-')
? ? ? return _start + "---" ?+ _end
? ? }?
? }else{//一年54周情況 ? ?
? ? var cnt=0// 獲取距離周末的天數(shù) ? ?
? ? if(_week==0 && weeks==1){//第一周 ? ?
? ? ? cnt = 0 ?
? ? }else if(_week==0){ ? ?
? ? ? cnt = 7?
? ? }else if(_week==1){ ? ?
? ? ? cnt = 6 ??
? ? }else if(_week==2){ ? ?
? ? ? cnt = 5?
? ? }else if(_week==3){ ? ?
? ? ? cnt = 4 ?
? ? }else if(_week==4){ ? ?
? ? ? cnt = 3
? ? }else if(_week==5){ ? ?
? ? ? cnt = 2 ?
? ? }else if(_week==6){ ? ?
? ? ? cnt = 1 ?
? ? } ? ?
? ? cnt += 1//加1表示以星期一為一周的第一天 ? ?
? ? // 將這個(gè)長(zhǎng)整形時(shí)間加上第N周的時(shí)間偏移 ? ?
? ? time += 24*3600000 //第2周開(kāi)始時(shí)間 ? ?
? ? var nextYear = new Date(parseInt(year,10)+1,"0","1") ??
? ? var nextWeek = nextYear.getDay() ??
? ? var lastcnt = 0 //獲取最后一周開(kāi)始時(shí)間到周末的天數(shù) ? ?
? ? if(nextWeek==0){ ? ?
? ? ? lastcnt = 6
? ? }else if(nextWeek==1){ ? ?
? ? ? lastcnt = 0 ? ?
? ? }else if(nextWeek==2){?
? ? ? lastcnt = 1
? ? }else if(nextWeek==3){ ? ?
? ? ? lastcnt = 2
? ? }else if(nextWeek==4){ ? ?
? ? ? lastcnt = 3 ??
? ? }else if(nextWeek==5){ ? ?
? ? ? lastcnt = 4 ??
? ? }else if(nextWeek==6){ ? ?
? ? ? lastcnt = 5?
? ? } ? ?
? ? if(weeks==1){//第1周特殊處理
? ? ? // var start = date.Format("yyyy-MM-dd");
? ? ? var start = date.toLocaleDateString().split('/').join('-')
? ? ? date.setTime(time-24*3600000)
? ? ? alert(start +'--'+ date)
? ? ? return _start + "---" ?+ date
? ? }else if(weeks==54){//第54周特殊處理 ? ?
? ? ? var start = time+(weeks-2)*7*24*3600000 //第54周開(kāi)始時(shí)間 ? ?
? ? ? var end = time+(weeks-2)*7*24*3600000 + lastcnt*24*3600000 - 24*3600000 //第53周結(jié)束時(shí)間
? ? ? date.setTime(start)
? ? ? // var _start = date.Format("yyyy-MM-dd");?
? ? ? var _start = date.toLocaleDateString().split('/').join('-')
? ? ? date.setTime(end)
? ? ? // var _end = date.Format("yyyy-MM-dd");
? ? ? var _end = date.toLocaleDateString().split('/').join('-')
? ? ? return _start + "---" ?+ _end
? ? }else{ ? ?
? ? ? var start = time+(weeks-2)*7*24*3600000 //第n周開(kāi)始時(shí)間 ? ?
? ? ? var end = time+(weeks-1)*7*24*3600000 - 24*3600000 //第n周結(jié)束時(shí)間
? ? ? date.setTime(start)
? ? ? // var _start = date.Format("yyyy-MM-dd");
? ? ? var _start = date.toLocaleDateString().split('/').join('-')
? ? ? date.setTime(end)
? ? ? // var _end = date.Format("yyyy-MM-dd");
? ? ? var _end = date.toLocaleDateString().split('/').join('-')
? ? ? return _start + "---" ?+ _end
? ? } ? ?
? } ? ?
}
?
// 計(jì)算某年某月的日期范圍
export function monthGetDate(year, months) {
? var year = year
? var month = months
? month = month < 10 ? "0" + month: month
? var firstday = year + "-" + month + "-" + "01"
? var lastday = ""
? if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") {
? ? lastday = year + "-" + month + "-" + 31
? } else if (month == "02") {
? ? if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
? ? ? lastday = year + "-" + month + "-" + 29
? ? } else {
? ? ? lastday = year + "-" + month + "-" + 28
? ? }
? } else {
? ? lastday = year + "-" + month + "-" + 30
? }
? return firstday + '---' + lastday
}
?
//生成隨機(jī)字符串方法
export function getString() {
? let time = new Date()
? time = time.getTime()
?
? return `${Math.random().toString(36).substr(2, 10)}${time}`
}
?
//升序排序
export function bubbleSortUp(arr, flag) {
? for (var i = 0; i < arr.length; i++) {
? ? for (var j = 0; j < arr.length - i - 1; j++) {
? ? ? if (arr[j][flag] > arr[j + 1][flag]) {
? ? ? ? var c = arr[j];
? ? ? ? arr[j] = arr[j + 1];
? ? ? ? arr[j + 1] = c;
? ? ? }
? ? }
? }
?
? return arr;
}
?
//降序排序
export function bubbleSortDown(arr, flag) {
? for (var i = 0; i < arr.length; i++) {
? ? for (var j = 0; j < arr.length - i - 1; j++) {
? ? ? if (arr[j][flag] < arr[j + 1][flag]) {
? ? ? ? var c = arr[j + 1];
? ? ? ? arr[j + 1] = arr[j];
? ? ? ? arr[j] = c;
? ? ? }
? ? }
? }
?
? return arr;
}
?
//減法精度處理
export function floatSub(arg1, arg2) {
? var r1, r2, m, n;
? try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
? try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
? m = Math.pow(10, Math.max(r1, r2));
? n = (r1 >= r2) ? r1 : r2;
?
? return ((arg1 * m - arg2 * m) / m).toFixed(n);
}

2. 在需要的文件中引入使用:

獲取七天前的日期:

let day7 = util.getRangeDate(7)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法

    vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法

    今天小編就為大家分享一篇vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vuecli項(xiàng)目構(gòu)建SSR服務(wù)端渲染的實(shí)現(xiàn)

    vuecli項(xiàng)目構(gòu)建SSR服務(wù)端渲染的實(shí)現(xiàn)

    這篇文章主要介紹了vuecli項(xiàng)目構(gòu)建SSR服務(wù)端渲染的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • ant-design-vue按鈕樣式擴(kuò)展方法詳解

    ant-design-vue按鈕樣式擴(kuò)展方法詳解

    這篇文章主要為大家介紹了ant-design-vue按鈕樣式擴(kuò)展方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue之prop與$emit的用法說(shuō)明

    vue之prop與$emit的用法說(shuō)明

    這篇文章主要介紹了vue之prop與$emit的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • el-input寬度跟隨輸入內(nèi)容自適應(yīng)的實(shí)現(xiàn)方法

    el-input寬度跟隨輸入內(nèi)容自適應(yīng)的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于el-input寬度跟隨輸入內(nèi)容自適應(yīng)的實(shí)現(xiàn)方法,我們?cè)賹?shí)際應(yīng)用中可能需要input文本框能夠根據(jù)輸入字符的所占據(jù)的寬度自動(dòng)調(diào)節(jié)尺寸,需要的朋友可以參考下
    2023-08-08
  • vue?elementui二次封裝el-table帶插槽問(wèn)題

    vue?elementui二次封裝el-table帶插槽問(wèn)題

    這篇文章主要介紹了vue?elementui二次封裝el-table帶插槽問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue使用exif獲取圖片經(jīng)緯度的示例代碼

    vue使用exif獲取圖片經(jīng)緯度的示例代碼

    這篇文章主要介紹了vue使用exif獲取圖片經(jīng)緯度的示例代碼,幫助大家更好的利用vue獲取圖片信息,感興趣的朋友可以了解下
    2020-12-12
  • 在axios中使用params傳參的時(shí)候傳入數(shù)組的方法

    在axios中使用params傳參的時(shí)候傳入數(shù)組的方法

    今天小編就為大家分享一篇在axios中使用params傳參的時(shí)候傳入數(shù)組的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue嵌套路由與404重定向?qū)崿F(xiàn)方法分析

    vue嵌套路由與404重定向?qū)崿F(xiàn)方法分析

    這篇文章主要介紹了vue嵌套路由與404重定向?qū)崿F(xiàn)方法,結(jié)合實(shí)例形式分析了vue.js嵌套路由與404重定向的概念、原理、實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Vue3自定義drag指令詳解

    Vue3自定義drag指令詳解

    這篇文章主要為大家詳細(xì)介紹了Vue3自定義drag指令的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12

最新評(píng)論