Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算从开始日期到结束日期期间的周数?_Javascript_Php_Html_Datepicker_Bootstrap Datepicker - Fatal编程技术网

Javascript 如何计算从开始日期到结束日期期间的周数?

Javascript 如何计算从开始日期到结束日期期间的周数?,javascript,php,html,datepicker,bootstrap-datepicker,Javascript,Php,Html,Datepicker,Bootstrap Datepicker,其主要思想是获取两个日期之间的周数(从开始日期和结束日期开始)! 类似于:如果时间段为2020年5月1日至2020年5月31日,在数据采集器中,我选择的结果为2020年5月8日,第二周为2 有人能帮我解决我自己无法解决的问题吗, 谢谢大家! 这是JS日期选择器代码行,设置时间为2020年5月1日至2020年5月31日,如何从这个JS代码中回传出一周的代码号,以便将来使用php或输入值 js $(文档).ready(函数(){ $(“#日期选择器”)。日期选择器({ 格式:“dd/mm/yyyy

其主要思想是获取两个日期之间的周数(从开始日期和结束日期开始)! 类似于:如果时间段为2020年5月1日至2020年5月31日,在数据采集器中,我选择的结果为2020年5月8日,第二周为2

有人能帮我解决我自己无法解决的问题吗, 谢谢大家!

这是JS日期选择器代码行,设置时间为2020年5月1日至2020年5月31日,如何从这个JS代码中回传出一周的代码号,以便将来使用php或输入值

js


$(文档).ready(函数(){
$(“#日期选择器”)。日期选择器({
格式:“dd/mm/yyyy”,
起始日期:新日期('2020-5-1'),
结束日期:新日期('2020-5-31')
});
});
html


出售日期

根据您的主要想法,您可以使用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>
参见日期fns文件

如果您想知道指定月份内的周数,可以查看所选日期和第一个日期之间的差异

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> 

功能差异周数(dt2、dt1)
{
var diff=(dt2.getTime()-dt1.getTime())/1000;
差异/=(60*60*24*7);
返回Math.abs(Math.round(diff));
}
dt1=新日期(2014年10月2日);
dt2=新日期(2014年10月11日);
console.log(不同周数(dt1、dt2));
dt1=新日期(“2014年6月13日08:11:00”);
dt2=新日期(“2014年10月19日11:13:00”);
console.log(不同周数(dt1、dt2));
lnk。

为什么使用4月31日?它不是4月31日,而是5月31日,因为api日期的月份是基于0指数的。
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
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>