美文网首页
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