Date() 按条件打印当前日期的月份和周
2024-08-31 11:13:25
条件:打印 月份-第几周 若本月前七天不在全在第一周则这一周计入到上月第五周。
分析:
1.条件判断分别处理前七天和大于等于七天的数据;
2.当前月的7号是关键,如果在周天就不需要放到上月,如果不在周天就要条件判断。
3.日期函数理解
时间函数:
创建 Date 对象的语法:var myDate=new Date()
Date()-返回当日的日期和时间
getDate()-从Date对象返回一个月中的某一天(1-31)
getDay()-从Date对象返回一个周内的某一天(0-6对应周天到周六)
getMonth()-从Date对象月份(0-11)
getFullYear()/getYear()-从Date对象以四位数字返回年份
parse()-返回1970年1月1日午夜到指定日期(字符串)的毫秒数(时间戳)。
setDate()-设置Date对象月中的某一天
<!-- 第几月的第几周 打印结果: 月份-第几周 若本月前七天不在全在第一周则这一周计入到上月第五周,余下的周要减一-->
<template>
<div>
<p>week of month!</p>
</div>
</template> <script>
export default {
created() {
this.getWeek("Sun Aug 31 2019 18:05:38 GMT+0800 (中国标准时间)")
}, methods: {
getWeek(dateStr) {
// Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,
dateStr = Date.parse(dateStr);
// 转成 date 对象
let tarDate = new Date(dateStr);
let tarDay = tarDate.getDay() == 0 ? 7 : tarDate.getDay(); // 目标日期是周几 (1-7)
console.log(tarDate.getDate())
// 第几周
let tarWeek = Math.ceil((tarDate.getDate()/7));
console.log("tarWeek", tarWeek)
// getMonth() 返回 (0-11)
let tarMonth = tarDate.getMonth() + 1;
// 不能 let tarDate7 = tarDate tarDate7改变后这个也会变
let tarDate7 = new Date(dateStr);
tarDate7.setDate(7);
let tarDate7Day = tarDate7.getDay(); // 当月 7 号是周几 (0-6)
if (tarDate7Day == 0) {
tarWeek;
} else {
if (tarDate.getDate() > 7) {
console.log("> 7");
tarWeek -= 1;
} else {
console.log("<= 7");
if (tarDate7Day < tarDay) {
tarMonth = tarDate.getMonth();
tarWeek = 5;
} else {
tarWeek -= 1;
}
}
}
console.log(`${tarMonth}-${tarWeek}`);
}
}
}
</script>
最新文章
- Reporting Services 错误案例一则
- MyEclipse10修改servlet模版
- SAM4E单片机之旅——24、使用DSP库求向量数量积
- linq 之 Distinct的使用
- UITabBarController的使用和坑
- DZNEmptyDataSet,优秀的空白页或者出错页封装
- nginx模块开发(31)—定时器模型
- AltiumDesigner学习笔记(一)——创建工程与原理图文件
- Embedded之memory test
- 《Linear Algebra and Its Applications》-chaper1-线性方程组-线性相关性
- html小知识
- 让 SVN (TortoiseSVN)提交时忽略指定目录
- Git的使用详解
- windows2003NLB群集配置(工作组和域)
- bugku web 矛盾
- 【原创】IDEA一定要改的八条配置
- Java 数据库操作
- StackService.Redis 应用
- DFS Tempter of the Bone
- 阿里云(四)Linux 实例常用内核网络参数介绍与常见问题处理