得到一个月的第一周,第二周...。并且得到对应几号。有会的朋友给点思路吗。 我现在可以做到知道一个月有几周,但是不知道各个周是几号到几号
只能先提供一个思路给你具体怎么做你得自己去实施了好吧,首先这个问题,我们是不是首先确定每月的1号是星期几,确定第一周有几天,然后就能确定第一周有几天了,知道第一周是几月几号后面就很简单了,对吧,,先找一个基准日期比如2017年10月1号正好是周日,然后我们算出基准月到当月的1号是多少天,用这个数字减去几能被7整除,然后推出这个月1号是星期几就OK了(比如10月1号到11月1号是31天,31除以7是4点几所以4*7=28,因此31-3=28,那就是周日开始第三天,就是周三了,或者,本周还剩四天那就是11月1号~11月4号)
各个周是几号到几号 这个首先你要知道是哪年的哪个月份 (其实你这个就是一个伪需求,实际就是需要一个日历) 这个你完全可以去改一个日历代码 就能额得到你需要的东西
你只要知道这个月1号是星期几不就ok???然后 每周+7天 最后一个星期就是31-4-7-7-7
<%--
Created by IntelliJ IDEA.
User: qqg
Date: 2017/10/11
Time: 10:31
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
HttpSession s = request.getSession();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<title>Title</title>
<script type="text/javascript" src="/js/jquery.min.js"></script>
</head>
<body>
<script>
/**
* 获取当前时间
*/
function p(s) {
return s < 10 ? '0' + s: s;
}
//根据时间获取当前月的周数,每周的周日为一周的开始
function getWeekByMonth(date) {
var y = date.getFullYear();
var m = date.getMonth()+1;//月份 0 - 11 ,0代表 1 月
var d = date.getDate();
var now2 =y+'-'+p(m)+"-"+p(d);
//获取本月1号对应的周数
var monOneWeek = new Date(y,m-1,1);
var week = monOneWeek.getDay();
//获取本月的天数
var monOneDay = new Date(y,m,1);
var date_count = (new Date(monOneDay.getTime()-1000*60*60*24)).getDate();
var days = date_count;
var mod = 7 - week;
var count = 1;
var start = 1; //起始日期 1 号开始
var s = "" , ss = "";
var end = start + mod - 1;//截止日期
while (days >= 0){
//var end = start + 6;
end = end > date_count ? date_count : end ;
s += "第" + count + "周:" +y+"年"+p(m)+"月"+"("+p(start)+"-"+p(end)+");"+"\n";
start = end + 1;
end += 7;
days -= 7;
ss += days + ",";
count ++;
}
return s;
}
function getData() {
//alert(p(m)+"周:"+week+"天数:"+date_count);
//测试月份
//2017年2月1日
var date2 = new Date(2017,1,1);
//2017年1月1日
var date1 = new Date(2017,0,1);
//2017年3月1日
var date3 = new Date(2017,2,1);
//2017年10月1日
var date10 = new Date(2017,9,1);
//2017年11月1日
var date5 = new Date(2017,10,1);
alert(getWeekByMonth(date5));
}
</script>
<div ><button class="btn btn-success" onclick="getData();">测试</button> </div>
</body>
</html>
谢谢各位,已经有思路了