課表數(shù)據(jù)時(shí)存儲(chǔ)于數(shù)據(jù)庫(kù)中的嗎?
在南山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,南山網(wǎng)站建設(shè)費(fèi)用合理。
/**
* 獲取一周的時(shí)間集合(從周一到周日)
* @param weekNum ;-1:上周;0:本周;1:下周
*/
public static ListDate getWeekDates(int weekNum){
ListDate list = new ArrayListDate();
Calendar cal = Calendar.getInstance();
// 獲取指定下幾個(gè)星期
cal.add(Calendar.DAY_OF_WEEK, weekNum * 7);
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
list.add(cal.getTime());
for(int i = 0;i 6;i++){
cal.add(Calendar.DAY_OF_WEEK, 1);
list.add(cal.getTime());
}
return list;
}
這個(gè)是獲取這一周時(shí)間的代碼 ,之后用下面的代碼獲取周一到周日的日期
ListDate ds = DateUtil.getNowWeekDates(weekNum);
ds.get(0)//周一
ds.get(6)//周日
用這兩個(gè)時(shí)間到數(shù)據(jù)庫(kù)中進(jìn)行范圍查詢,之后的你應(yīng)該明白了吧
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateDome {
public DateDome(){
}
//年大于等于0
public boolean isYear(int year){
boolean suc=false;
if(year0)return suc;
else if(year=0)suc=true;
return suc;
}
//判斷月數(shù)1-12月
public boolean isMonth(int month){
boolean suc=false;
if(month0||month12)return false;
else suc=true;
return suc;
}
//判斷天數(shù)1-31號(hào)
public boolean isDay(int day){
boolean suc=false;
if(day=0||day31)return suc;
else suc=true;
return suc;
}
//是否為閏年
public boolean isRunNian(int year){
boolean suc=false;
if(year=0){
if(year%400==0||(year%4==0year%100!=0)){
suc=true;
}
}
return suc;
}
//判斷合法年月日
public boolean isInvaildate(int year,int month, int day){
boolean suc=false;
if(isYear(year)isMonth(month)isDay(day)){
switch(month){
case 1:
suc=true;
break;
case 2:
if(isRunNian(year)day=29){
suc=true;
}else if(day=28){
suc=true;
}
break;
case 3:
suc=true;
break;
case 4:
if(day=30)suc=true;
break;
case 5:
suc=true;
break;
case 6:
if(day=30)suc=true;
break;
case 7:
suc=true;
break;
case 8:
suc=true;
break;
case 9:
if(day=30)suc=true;
break;
case 10:
suc=true;
break;
case 11:
if(day=30)suc=true;
break;
case 12:
suc=true;
break;
}
}
return suc;
}
//根據(jù)日期得到天數(shù)
public int getDaysByDate(int year,int month,int day){
int days=0;
if(isInvaildate(year,month,day)){
for(int i=0;iyear;i++){
if(isRunNian(i)){
days+=366;
}else{
days+=365;
}
}
for(int i=1;imonth;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
days+=31;
}else if(i==4||i==6||i==9||i==11){
days+=30;
}else if(i==2){
if(isRunNian(year)){
days+=29;
}else{
days+=28;
}
}
}
days+=day-1;
return days;
}else{
System.out.println("處理有非法日期!??!");
return -1;
}
}
//根據(jù)天數(shù)得到日期數(shù)int[]由,年、月、日組成的數(shù)組
public int[] getDateByDays(int days){
int das=0;//預(yù)計(jì)的天數(shù)
int y=0,m=1,d=1;//0年1月1號(hào)
int[] date=new int[3];
boolean suc=true;
int temp=0;
if(days0){
System.out.println("請(qǐng)輸入合法天數(shù)?。。?);
return new int[]{0,0,0};
}
while(suc){
if(isRunNian(y)){
temp=366;
}else{
temp=365;
}
das+=temp;
if(dasdays){
y++;
}else{
das-=temp;
break;
}
}
while(suc){
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
temp=31;
}else if(m==4||m==6||m==9||m==11){
temp=30;
}else if(m==2){
if(isRunNian(y)){
temp=29;
}else{
temp=28;
}
}
das+=temp;
if(dasdays){
m++;
}else{
das-=temp;
break;
}
}
d=days-das+1;
date[0]=y;
date[1]=m;
date[2]=d;
return date;
}
//得到多少天前或后合法日期
public int[] addORsubDay(int dd,int year,int month,int day){
int days=getDaysByDate(year,month,day);
if(days=0){
days+=dd;
if(days0){
return getDateByDays(days);
}else{
System.out.println("處理日期不能小于0年1月1號(hào)");
return new int[]{0,0,0};//代表無(wú)效日期
}
}else{
System.out.println("處理日期不能小于0年1月1號(hào)");
return new int[]{0,0,0};//年,月,日
}
}
//得到兩個(gè)日期相距天數(shù)
public int TwoDate(int[] date1,int[] date2){
int d=-1;
if(isInvaildate(date1[0],date1[1],date1[2])isInvaildate(date2[0],date2[1],date2[2])){
int days1=getDaysByDate(date1[0],date1[1],date1[2]);
int days2=getDaysByDate(date2[0],date2[1],date2[2]);
d=days1-days2;
return d=0?d:-d;
}else
{
System.out.println("處理有非法日期!??!");
return d;
}
}
/*
* 輸入日期是否為有效日期
*/
private boolean isInvaildate1(String d){
int year=0;
int month=0;
int day=0;
boolean success=false;
try{
year=Integer.parseInt(d.substring(0,4));
month=Integer.parseInt(d.substring(4,6));
day=Integer.parseInt(d.substring(6,8));
success=isInvaildate(year, month, day);
return success;
}catch(Exception e){
return success;
}
}
/*
* 得到輸入日期是星期幾
*/
public String day_of_week(String d){
String year=null;
String month=null;
String day=null;
SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");
boolean suc=false;
if((suc=isInvaildate1(d))==false){
return d+"日期錯(cuò)誤";
}
try {
java.util.Date date=format.parse(d);
Calendar c=java.util.Calendar.getInstance();
c.setTime(date);
int i=0;
switch(c.get(c.DAY_OF_WEEK)){
case 1:return d+"是星期天";
case 2:return d+"是星期一";
case 3:return d+"是星期二";
case 4:return d+"是星期三";
case 5:return d+"是星期四";
case 6:return d+"是星期五";
case 7:return d+"是星期六";
default:return d+"日期錯(cuò)誤";
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return d+"日期錯(cuò)誤";
}
}
public static void main(String[] args){
DateDome dome=new DateDome();
System.out.println(dome.day_of_week("20000240"));
System.out.println(dome.day_of_week("20090306"));
System.out.println(dome.day_of_week("20090229"));
System.out.println(dome.day_of_week("20000229"));
}
}
import java.util.*; public class Date { public static int main(String[] args) { Scanner scan=new Scanner(System.in); int i=scan.nextInt(); switch(i) { case 1:System.out.println("Monday");break; case 2:System.out.println("Tuesday");break; case 3:System.out.println("Wednesday");break; case 4:System.out.println("Thursday");break; case 5:System.out.println("Friday");break; case 6:System.out.println("Saturday");break; case 7:System.out.println("Sunday");break; default:System.out.println("It's invalidate!");break; } return 0; } }