Javascript 如何计算从开始日期到结束日期期间的周数?
其主要思想是获取两个日期之间的周数(从开始日期和结束日期开始)! 类似于:如果时间段为2020年5月1日至2020年5月31日,在数据采集器中,我选择的结果为2020年5月8日,第二周为2 有人能帮我解决我自己无法解决的问题吗, 谢谢大家! 这是JS日期选择器代码行,设置时间为2020年5月1日至2020年5月31日,如何从这个JS代码中回传出一周的代码号,以便将来使用php或输入值 jsJavascript 如何计算从开始日期到结束日期期间的周数?,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
$(文档).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>