获取4周的开始日期和结束日期
Get 4 week startdate and enddate
我想获得未来4周的开始和结束日期(仅限工作日)。
假设今天的日期是2015-12-01
,那么结果应该如下
Week0 will have StartDate = 2015-11-30 and EndDate = 2015-12-04
Week1 will have StartDate = 2015-12-07 and EndDate = 2015-12-11
Week2 will have StartDate = 2015-12-14 and EndDate = 2015-12-18
Week3 will have StartDate = 2015-12-21 and EndDate = 2015-12-25
在这里,Week0的日期应该从当前日期开始计算。
试试moment库它很容易使用,所以你应该能够很快弄清楚如何做到这一点
var date = moment(yourdate);
// iterate by date.add(1, "week")
var start = date.clone().startOf('week');
var end = date.clone().endOf('week');
//use .format('YYYY-MM-DD'); to print out
以下是如何使用Moment.js库(如注释中所述)来实现您想要的输出。使用内置函数非常容易(要查看结果,请在键盘上点击F12或以其他方式打开控制台)
var weeks = 4;
for (var i = 0 ; i < weeks ; i++) {
var start = moment().startOf('isoweek').add(i, 'weeks');
var end = start.clone().add(4, 'days');
console.log("Week%d will have StartDate = %s and EndDate = %s", i, start.format('YYYY-MM-DD'), end.format('YYYY-MM-DD'));
}
<script src="http://momentjs.com/downloads/moment.min.js"></script>
两个简单的内置功能在这里工作,即:
moment
,它是moment类的一个实例,本质上是一个日期时间字符串startOf
,非常不言自明,找到了本周开始的确切日期时间add
,它将一定量的x
,即天、周、月等添加到当前实例中clone
,这是克隆原始时刻以防止其被end
变量修改的必要步骤- 很明显,
format
基于作为其参数的字符串来格式化矩
看看Moment.js文档,对代码进行一点解读;它将帮助您更好地理解Moment.js作为一个库。希望这能有所帮助。
相关文章:
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 使用javascript&自定义验证器检查开始日期和结束日期
- 如何在dhtmlxgantt中显示灯箱中的开始日期、结束日期和持续时间
- 如何在javascript中获得给定的月份开始日期和结束日期
- 在选择开始日期后设置结束日期
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 基础日期选择器、结束日期(和时间)不能早于开始日期(和时间)
- 结束日期作为基础日期时间选择器中的选定开始日期
- 开始日期和结束日期输入字段的 JQuery 筛选器表
- 在ExtJS中获取开始/结束日期之间的日期
- 转换mysql的Fullcalendar开始/结束日期
- angularjs提交表单中的开始日期结束日期验证应被禁用
- Jquery FullCalendar扩展开始日期或结束日期
- 从jquery中的开始日期计算结束日期
- 检查开始日期是否小于结束日期(不使用任何pluguin)
- 如何在引导程序中比较结束日期和开始日期,以确保结束日期大于开始日期
- JSON Linq.js 筛选开始日期结束日期列
- Jquery UI日期起始日期和日期结束字段验证
- 比较日期——结束日期应该大于开始日期
- j使用时区/开始日期/结束日期查询进度条