js计算每月某日某时的时间戳

一般项目中使用到提醒预约事件时,会设置某一个时间点事件活动开始时间 比如某活动每月8号10点开始,获取到该时间点的时间戳如下:

 var date = new Date();
    var time;

    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();

    var activeDay, nextDate;
    // 获取当月有多少天
    var totalDay = new Date(year, month, 0).getDate();

    if (day < 8) {
        activeDay = 8 - day;
        day = activeDay + day;
        nextDate = `${year}/${month }/${day}`

    } else if (day > 8) {
        if (totalDay == 31) {
            activeDay = 31 - day + 8;
            day = day + activeDay - totalDay;

        } else if (totalDay == 30) {
            activeDay = 30 - day + 8;
            day = day + activeDay - totalDay;
        } else if (totalDay == 29) {
            activeDay = 29 - day + 8;
            day = day + activeDay - totalDay;
        } else if (totalDay == 28) {
            activeDay = 28 - day + 8;
            day = day + activeDay - totalDay;
        }

        nextDate = `${year}/${month + 1}/${day}`

    } else if (day == 8) {
        // time = date.getTime();
        day = 8;
        nextDate = `${year}/${month}/${day}`
    }

    time = new Date(nextDate).getTime() + 10 * 60 * 60 * 1000;
    console.log(time);
    
复制代码

转载于:https://juejin.im/post/5cc8008ee51d456e537ef3a0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值