JS:生成一个最近一周日期的数组

function getDay(day){  
	    var today = new Date();  
	    var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
	    today.setTime(targetday_milliseconds);
    var tYear = today.getFullYear();  
    var tMonth = today.getMonth();  
    var tDate = today.getDate();  
    tMonth = doHandleMonth(tMonth + 1);  
    tDate = doHandleMonth(tDate);  
    return tYear+"-"+tMonth+"-"+tDate; 
}
function doHandleMonth(month){  
    var m = month;  
    if(month.toString().length == 1){  
       m = "0" + month;  
    }  
    return m;  
}

接下来就是调用getDay()函数了,至于自己需要什么格式的日期就直接修改上面getDay()函数的return 对象就行 默认格式是:yyyy-MM-dd,你如果需要MM-dd格式的那么就把getDay()函数 最后一行修改成 return tMonth+"-"+tDate;
其他格式的以此类推。接下来就是调用函数生成最近一周的数组:

	$.ajax({
    async: false, //采用异步方式
    type : 'POST',
    url :xxxxxxx;
    data:{
    },
    dataType : 'json',
    success:function(data){
    	 console.log(data);
        if(data.res==1){
            if(data.obj!=null){
            //生成最近一周日期的数组
            	var dateOfWeek= [getDay(-7),getDay(-6),getDay(-5),getDay(-4),getDay(-3),getDay(-2),getDay(-1)];
            }else{//无数据
            }
        }else{//代请求失败
        }
    },error:function(){
        //请求出错处理
    }
});
在 Vue.js 中结合 TypeScript 实现周签到功能,你可以创建一个组件,它包含七天的日期选择器,并允许用户每天进行签到。首先,你需要安装 Vue 和 TypeScript 的支持库,如 `vue-class-component` 和 `vue-property-decorator`。 1. 安装依赖: ```bash npm install vue@next vue-class-component vue-property-decorator typescript ts-loader @types/vue ``` 2. 创建一个名为 `Sign-in.vue` 的文件,使用 TypeScript 编写: ```typescript <template> <div> <ul> <li v-for="(day, index) in days" :key="index"> {{ day }} <button @click="toggleCheck(index)">签到</button> </li> </ul> </div> </template> <script lang="ts"> import { Component, Prop } from 'vue-class-component'; @Component({ props: { startDate: { type: Date, required: true }, }, }) export default class SignIn extends Vue { days = Array.from({ length: 7 }, (_, i) => new Date(this.startDate.setDate(i + 1))); @Prop() startDate!: Date; toggleCheck(dayIndex: number): void { this.days[dayIndex] = this.days[dayIndex].setHours(0, 0, 0, 0); // 设置时间为当天0点 if (this.days[dayIndex].getTime() === this.startDate.getTime()) { // 如果当天已经是签到状态,则恢复成未签到状态 this.days[dayIndex] = new Date(this.startDate.setDate(dayIndex + 1)); } else { // 否则设置为已签到状态 this.days[dayIndex] = new Date(); } } } </script> <style scoped> /* CSS 样式 */ </style> ``` 在这个例子中,我们创建了一个组件,接收一个开始日期作为属性,然后生成一个包含周日的对象数组。每个日期都有一个按钮用于点击签到,`toggleCheck` 方法会切换当天的状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值