如何计算开始日期和结束日期期间的周数?
How to calculate the number of the week from the start and end date period?
主要思想是获取两个日期之间的周数(从开始日期和结束日期开始)!
类似这样的事情:如果期间是 01-05-2020 到 31-05-2020 并且在数据选择器中我选择 08-05-2020 结果将为 2,即第二周。
谁能帮忙解决我自己无法弄清楚的问题,
谢谢!
这里是 JS 日期选择器代码行,设置期间为 01-05-2020 到 31-05-2020,如何从这个 js 代码回显未来 php 用法或输入值的周数?
js
<!-- js -->
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js' type='text/javascript'></script>
<!-- Datepicker -->
<link href='https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css' rel='stylesheet' type='text/css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
$('#datepicker').datepicker({
format: "dd/mm/yyyy",
startDate: new Date('2020-5-1'),
endDate: new Date('2020-5-31')
});
});
</script>
html
<div class="form-group">
<label for="formGroupExampleInput">Date of sale</label>
<input type="text" name="dos" value="<?php echo $doc; ?>" class="form-control" id='datepicker' id="formGroupExampleInput">
</div>
根据您的主要想法,您可以使用 date-fns 库来获取以周为单位的日期之间的差异。
// import date-fns library
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/2.0.0-alpha0/date_fns.min.js"></script>
那么您可以:
let diffCalendarWeeks = dateFns.differenceInCalendarWeeks(new Date(2020,4,31), new Date(2020,4,1));
let diffWeeks = dateFns.differenceInWeeks(new Date(2020,4,31), new Date(2020,4,1))
console.log(diffCalendarWeeks); //5
console.log(diffWeeks); // 4
查看 date-fns 文档
https://date-fns.org/v2.0.0-alpha.1/docs/differenceInCalendarWeeks
如果您想知道指定月份内的周数,您可以查看所选日期和第一个日期之间的差异。
let selectedDate = new Date(2020, 4, 15);
let startOfMonth = dateFns.startOfMonth(new Date());
var selectedWeek = dateFns.differenceInWeeks(selectedDate, startOfMonth) + 1;
console.log(selectedWeek);
或者你可以尝试这个答案,如果更适合你
谢谢,我找到了解决问题的方法。
在这里,也许有人需要..
<script>
function diff_weeks(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60 * 60 * 24 * 7);
return Math.abs(Math.round(diff));
}
dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,11);
console.log(diff_weeks(dt1, dt2));
dt1 = new Date("June 13, 2014 08:11:00");
dt2 = new Date("October 19, 2014 11:13:00");
console.log(diff_weeks(dt1, dt2));
<script>
lnk。
https://www.w3resource.com/javascript-exercises/javascript-date-exercise-47.php
主要思想是获取两个日期之间的周数(从开始日期和结束日期开始)! 类似这样的事情:如果期间是 01-05-2020 到 31-05-2020 并且在数据选择器中我选择 08-05-2020 结果将为 2,即第二周。
谁能帮忙解决我自己无法弄清楚的问题, 谢谢!
这里是 JS 日期选择器代码行,设置期间为 01-05-2020 到 31-05-2020,如何从这个 js 代码回显未来 php 用法或输入值的周数?
js
<!-- js -->
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js' type='text/javascript'></script>
<!-- Datepicker -->
<link href='https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css' rel='stylesheet' type='text/css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
$('#datepicker').datepicker({
format: "dd/mm/yyyy",
startDate: new Date('2020-5-1'),
endDate: new Date('2020-5-31')
});
});
</script>
html
<div class="form-group">
<label for="formGroupExampleInput">Date of sale</label>
<input type="text" name="dos" value="<?php echo $doc; ?>" class="form-control" id='datepicker' id="formGroupExampleInput">
</div>
根据您的主要想法,您可以使用 date-fns 库来获取以周为单位的日期之间的差异。
// import date-fns library
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/2.0.0-alpha0/date_fns.min.js"></script>
那么您可以:
let diffCalendarWeeks = dateFns.differenceInCalendarWeeks(new Date(2020,4,31), new Date(2020,4,1));
let diffWeeks = dateFns.differenceInWeeks(new Date(2020,4,31), new Date(2020,4,1))
console.log(diffCalendarWeeks); //5
console.log(diffWeeks); // 4
查看 date-fns 文档 https://date-fns.org/v2.0.0-alpha.1/docs/differenceInCalendarWeeks
如果您想知道指定月份内的周数,您可以查看所选日期和第一个日期之间的差异。
let selectedDate = new Date(2020, 4, 15);
let startOfMonth = dateFns.startOfMonth(new Date());
var selectedWeek = dateFns.differenceInWeeks(selectedDate, startOfMonth) + 1;
console.log(selectedWeek);
或者你可以尝试这个答案,如果更适合你
谢谢,我找到了解决问题的方法。 在这里,也许有人需要..
<script>
function diff_weeks(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= (60 * 60 * 24 * 7);
return Math.abs(Math.round(diff));
}
dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,11);
console.log(diff_weeks(dt1, dt2));
dt1 = new Date("June 13, 2014 08:11:00");
dt2 = new Date("October 19, 2014 11:13:00");
console.log(diff_weeks(dt1, dt2));
<script>
lnk。 https://www.w3resource.com/javascript-exercises/javascript-date-exercise-47.php