📄 datemanager.java
字号:
import java.util.Calendar;
import java.util.Date;
import javax.microedition.rms.RecordStoreException;
/*
* 创建日期 2006-12-6
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class DateManager {//存放对日期操作的各方法的具体实现
public static Calendar calendar;
/**
*
*/
public DateManager() {
// TODO 自动生成构造函数存根
}
static void GetCalendar (Date date){
calendar=Calendar.getInstance();
calendar.setTime(date);
}
static int weekday(Date date){//星期一是返回 1!!!
GetCalendar(date);
int i=calendar.get(Calendar.DAY_OF_WEEK)-1;
if(i==0)
i=7;
return i;
}
static boolean in_term(Date date){
int[] term=WeekInfStore.get_term_date();
Calendar c1=Calendar.getInstance();
Calendar c2=Calendar.getInstance();
Calendar c3=Calendar.getInstance();
Date d=set_a_date(term[0],term[1],term[2]);
c1.setTime(d);
d=set_a_date(term[3],term[4],term[5]);
c2.setTime(d);
c3.setTime(date);
if(c3.before( c1)|| (c3.after( c2))){
return false;
}
return true;
}
static int get_weekth(Date now) throws RecordStoreException, Exception{//返回当前是第几周
int[] d=WeekInfStore.get_term_date();
Date term_begin=DateManager.set_a_date(d[0],d[1],d[2]);
int begin=weekday(term_begin);
int end=DateManager.weekday(now);
int dd=DateManager.Days(term_begin,now)+begin;
if(dd<0){
return -1;
}
else{
if(dd %7==0){
return dd/7;
}
else{
int i=dd/7+1;
return dd/7+1;
}
}
}
static Date get_next_day(Date d){ //下一天
long i=d.getTime()+86400000;
d.setTime(i);
return d;
}
static Date get_pre_day(Date d){
long i=d.getTime()-86400000;
d.setTime(i);
return d;
}
static Date set_a_date(int year,int month,int day){//建立一个时间点
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR ,year);
c.set(Calendar.MONTH,month-1);
c.set(Calendar.DAY_OF_MONTH,day);
c.set( Calendar.HOUR,0);
c.set( Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
return c.getTime();
}
static int[] get_year_mon_day(Date a){
int[] d=new int[3];
GetCalendar(a);
d[0]=calendar.get(Calendar.YEAR);
d[1]=calendar.get(Calendar.MONTH)+1;
d[2]=calendar.get(Calendar.DAY_OF_MONTH);
return d;
}
static int Days(Date begin,Date end){ //返回两个时间相隔日期数
return (int) (end.getTime()/86400000-begin.getTime() /86400000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -