美文网首页
JS对日期的处理(Vue版)

JS对日期的处理(Vue版)

作者: HelloAndyZhang | 来源:发表于2018-08-14 12:05 被阅读0次

(天、时 、分、秒)倒计时

    data () {
        return {
            Timedown:[],
        };
    },
    methods: {
    // 需要传进时间戳
        countdowm(timestamp){
            let that = this;
            let timer = setInterval(function(){
                let nowTime = new Date();
                let endTime = new Date(timestamp * 1000);
                let t = endTime.getTime() - nowTime.getTime();
                if(t>0){
                    let day = Math.floor(t/86400000);
                    let hour=Math.floor((t/3600000)%24);
                    let min=Math.floor((t/60000)%60);
                    let sec=Math.floor((t/1000)%60);
                    hour = hour < 10 ? "0" + hour : hour;
                    min = min < 10 ? "0" + min : min;
                    sec = sec < 10 ? "0" + sec : sec;
                    that.Timedown = [`${day}`,`${hour}`,`${min}`,`${sec}`];
                }else{
                        clearInterval(timer);
                        that.Timedown = [`0`,`0`,`0`,`0`];
                }
            },1000);
        }
    }

https://blog.csdn.net/wojiaomaxiaoqi/article/details/78497832

获取从当前日期至十五天前的日期集合

这个使用插件吧!真TM麻烦!插件走起来。

https://date-fns.org/v1.29.0/docs/Getting-Started

1.   npm install date-fns --save

 2.   配置中文 
###### 可在Main.js中配置,也可在需要用到的页面配置。
import  distanceInWords  from 'date-fns/distance_in_words'
import  zhLocale  from 'date-fns/locale/zh_cn'

var result = distanceInWords(
    {locale: zhLocale} 
)
import { addDays ,eachDay,format,setMonth,getMonth,addWeeks,startOfWeek,subMonths,compareDesc} from "date-fns"
data() {
    return {
      days:[]
    }
}
GetDays(){
        const today = new Date();  
        const dayTarget = addDays(today, -14);
        //addDays 将给定日期加指定的天数(我猜测是可以写成负数的。果然可以)。 也可以用  subDays()
        const thisDays= eachDay( dayTarget,today).sort(compareDesc);
        // eachDay 返回指定范围内的日期数组,sort(compareDesc)对数组进行排序。
        thisDays.map((item,index)=>{
              this.days.push(format(item,"M月D日"))
        })
        //format 格式化时间,第一个参数是日期,第二个参数是格式。官网文档这个比较简单。
},
// 如果想让当前日期显示成今天,可以将今天时间+1,排序遍历完成后。在数组(unshift)前一位添加 “今天”

获取从当前日期起前六周的时间区间

import { addDays ,eachDay,format,setMonth,getMonth,addWeeks,startOfWeek,subMonths,compareDesc} from "date-fns"
data() {
    return {
      weeks:[]
    }
}
GetWeeks(){
        const today = new Date();  
        let  WeeksLen = startOfWeek(today, {weekStartsOn: 1});
        //得到本周周一的日期 
        console.log(format(WeeksLen,"M月D日"));
        for(let k=0;k<=4;k++){
              let OneWeeks = addDays(WeeksLen, -7*k-1);
              // 通过当前日期减一天就可以得到上周周日的时间 (关键),然后每次减七天。就可以得到前几周周日时间。
              this.weeks.push(format(OneWeeks,"M月D日")+"-"+format(addDays(WeeksLen, -7*(k+1)),"M月D日"))
              //  K+1可得到上周周一时间   -7*(k+1)便可以得到前几周周一
         }
},

相关文章

网友评论

      本文标题:JS对日期的处理(Vue版)

      本文链接:https://www.haomeiwen.com/subject/mxnmbftx.html