有没有办法计算某年某月的天数? 是xx年xx月的天数吗?除了二月,每个月的天数不是固定的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Calendar test = Calendar.getInstance();test.set(Calendar.YEAR, 2003);test.set(Calendar.MONTH, 8);int totalDay = test.getActualMaximum(Calendar.DAY_OF_MONTH); Calendar test = Calendar.getInstance();test.set(Calendar.YEAR, 2003);test.set(Calendar.MONTH, 8);test.set(DAY_OF_MONTH, 21);int weekday= test.get(DAY_OF_WEEK ); 不是我小看你,你既然问了这个问题,就说明你对java.util.Calendar 类不熟悉,所以请查java.util.Calendar 的api,好好看看。附:源代码(仅供参考)package com.newman.util.calendar;import java.util.*;import javax.swing.*;import com.newman.io.Debug;import com.newman.lang.MyString;import com.newman.lang.StringToken;/** * <p>Title: newman的类库</p> * <p>Description: 没有最好只有更好</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: shu</p> * @author [email protected] * @version 1.0 */ /** * 该类主要用于时间处理 * * 功能: * 日期创建,日期的获得,两个日期的比较,日期加减(加天,加年,加月,加时,加分,加秒), * 日期格式(归整2002/07/08),日期转换(toString,toCalendar), * * 时间创建,获取秒数,获取分钟数,两个时间的比较,时间加减(加天,加时,加分,加秒), * 时间格式(归整2002/07/08),时间转换(toString,toCalendar), * */ /** * 注意:月是0-11 * */public class NewmanCalendar { private int m_Year; private int m_Month;//用于显示(从零开始)(0-11) private int m_Date; private int m_Hour; private int m_Minute; private int m_Second; //--------------------- private Calendar m_CurrentDate; private NewmanCalendar m_NewmanCalendar; //--------------------- final public static int YEAR=1;//测试得到,没有其它意思. final public static int MONTH=2; final public static int DATE=5; final public static int HOUR=10; final public static int MINUTE=12; final public static int SECOND=13;/** * 以下三个构造函数是:日期创建 * 构造函数-----start */ /** * 无参数构造,日期创建 */ public NewmanCalendar() { this.m_CurrentDate=new GregorianCalendar(); this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate); } /** * 参数构造,日期创建 * @param year * @param month * @param Date */ public NewmanCalendar(int year,int month,int Date){ m_CurrentDate=new GregorianCalendar(); this.m_CurrentDate.set(Calendar.YEAR,year); this.m_CurrentDate.set(Calendar.MONTH,month); this.m_CurrentDate.set(Calendar.DATE,Date); this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate); }/** * 参数构造,日期创建 * @param Date * @param hour * @param minute * @param second */ public NewmanCalendar(int Date,int hour,int minute,int second){ this.m_CurrentDate=new GregorianCalendar(); this.m_CurrentDate=new GregorianCalendar(this.m_CurrentDate.get(Calendar.YEAR ), this.m_CurrentDate.get(Calendar.MONTH ),Date,hour,minute,second); this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate) ; }/** * 参数构造,日期创建 * @param year * @param month * @param Date * @param hour * @param minute * @param second */ public NewmanCalendar(int year,int month,int Date,int hour,int minute,int second){ this.m_CurrentDate=new GregorianCalendar(year,month,Date,hour,minute,second); this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate); } /** * 创建同类 * @param nc1 */ public NewmanCalendar(NewmanCalendar nc1){ this.getNewmanCalendar(nc1.toCalendar(nc1)); }//构造函数-----end /** * 返回当前时间值 * @return NewmanCalendar类型 * 日期的获得-----start */ public NewmanCalendar Now(){ this.m_CurrentDate=new GregorianCalendar(); return this.getNewmanCalendar(this.m_CurrentDate); }/** * 从传入的Calendar类,获取NewmanCalendar 转换 * 多重调用 * @param calendar类对象 * @return NewmanCalendar */ private NewmanCalendar getNewmanCalendar(Calendar calendar){//GregorianCalendar is inherit Calendar this.m_Year=calendar.get(Calendar.YEAR ); this.m_Month=calendar.get(Calendar.MONTH ); this.m_Date=calendar.get(Calendar.DATE) ; this.m_Hour=calendar.get(Calendar.HOUR_OF_DAY );//24-hour clock this.m_Minute=calendar.get(Calendar.MINUTE); this.m_Second=calendar.get(Calendar.SECOND); return this; } //日期的获得-----end //日期的赋值-----start /** * 用calendar对象给this.m_NewmanCalendar成员变量赋值 * @param calendar */ private void SetNewmanCalendar(Calendar calendar){ this.m_NewmanCalendar=this.getNewmanCalendar(calendar); } //日期的赋值-----end /** * 以自己的成员变量建立一个NewmanCalendar类型的值。 * @return */ private NewmanCalendar CreateNewCalendar(){ this.m_NewmanCalendar=new NewmanCalendar(this.m_Year,this.m_Month, this.m_Date ,this.m_Hour ,this.m_Minute ,this.m_Second); return this.m_NewmanCalendar; } /** * 属性值获取-----start * @return * 比我们的实际值小1,因为是从0开始的 */ public int getYear(){ return this.m_Year; } public int getMonth(){//0-11 return this.m_Month; } public int getDate(){ return this.m_Date; } public int getHour(){ return this.m_Hour; } public int getMinute(){ return this.m_Minute; } public int getSecond(){ return this.m_Second; } //属性值获取-----end /** * 获取毫秒值 * @return long型 */ public long getTimeInMillis(){ long millsecond=this.m_CurrentDate.getTimeInMillis() ; return millsecond; } /** * 日期转换-----start * */ /** * String->NewmanCalendar * @param strCalendar * @return */ public NewmanCalendar toNewmanCalendar(String strCalendar){//2002/07/08; 2002-10-9 20:21:30 String str=strCalendar; StringToken st=new StringToken(str,"/-: "); ArrayList list=new ArrayList(); int num=0;//值的个数 list=st.workString(); if(!MyString.Assert(list))return null; num=list.size() ; switch(num){ case 3:{// 2002/07/08 this.m_Year=Integer.valueOf((String)list.get(0)).intValue() ; this.m_Month=Integer.valueOf((String)list.get(1)).intValue() ; this.m_Date=Integer.valueOf((String)list.get(2)).intValue() ; this.m_NewmanCalendar=new NewmanCalendar(this.m_Year,this.m_Month,this.m_Date); break; } case 4:{// 9 20:21:30 this.m_Date=Integer.valueOf((String)list.get(0)).intValue() ; this.m_Hour=Integer.valueOf((String)list.get(1)).intValue() ; this.m_Minute=Integer.valueOf((String)list.get(2)).intValue() ; this.m_Second=Integer.valueOf((String)list.get(3)).intValue() ; this.m_NewmanCalendar=new NewmanCalendar(this.m_Date,this.m_Hour, this.m_Minute,this.m_Second); break; } case 6:{//2002-10-9 20:21:30 this.m_Year=Integer.valueOf((String)list.get(0)).intValue() ; this.m_Month=Integer.valueOf((String)list.get(1)).intValue() ; this.m_Date=Integer.valueOf((String)list.get(2)).intValue() ; this.m_Hour=Integer.valueOf((String)list.get(3)).intValue() ; this.m_Minute=Integer.valueOf((String)list.get(4)).intValue() ; this.m_Second=Integer.valueOf((String)list.get(5)).intValue() ; this.m_NewmanCalendar=this.CreateNewCalendar(); break; } default:{ this.m_NewmanCalendar=this.Now(); break; } } return this.m_NewmanCalendar; } /** * Calendar->NewmanCalendar * @param strCalendar * @return */ public NewmanCalendar toNewmanCalendar(Calendar calendar){ return this.getNewmanCalendar(calendar); } /** * NewmanCalendar->String * @param newmancalendar * @return 返回外部日期 * //2002-10-9 20:21:30 */ public String toString (NewmanCalendar newmancalendar){ /* String strReturn=""; int month=newmancalendar.getMonth()+1;//month +1显示 int date=newmancalendar.getDate() ; strReturn=""+newmancalendar.getYear()+"-"; if(month>=10)//month strReturn=strReturn+month; else strReturn=strReturn+"0"+month; strReturn=strReturn+"-"; if(date>=10)//date strReturn=strReturn+date; else strReturn=strReturn+"0"+date; */ String strReturn=""; strReturn=this.toStringDate(newmancalendar)+" "+this.toStringTime(newmancalendar); return strReturn; } /** * NewmanCalendar->String * @return 本该类中的日期 */ public String toString (){ this.m_NewmanCalendar=this.CreateNewCalendar(); return this.toString(this.m_NewmanCalendar); } /** * 只有日期返回,无时间 * NewmanCalendar->String * @param newmancalendar * @return 2002-10-9 */ public String toStringDate (NewmanCalendar newmancalendar){ String strReturn=""; int month=newmancalendar.getMonth()+1;//month +1显示 int date=newmancalendar.getDate() ; strReturn=""+newmancalendar.getYear()+"-"; if(month>=10)//month strReturn=strReturn+month; else strReturn=strReturn+"0"+month; strReturn=strReturn+"-"; if(date>=10)//date strReturn=strReturn+date; else strReturn=strReturn+"0"+date; return strReturn; } /** * 返回本类中日期 * @return */ public String toStringDate (){ return toStringDate(this.CreateNewCalendar()); } /** * 只有时间返回,无时期 * NewmanCalendar->String * @param newmancalendar * @return 20:21:30 */ public String toStringTime (NewmanCalendar newmancalendar){ String strReturn=""; int hour=newmancalendar.getHour() ; int minute=newmancalendar.getMinute(); int second=newmancalendar.getSecond(); if(hour>=10)//hour strReturn=hour+":"; else strReturn="0"+hour+":"; if(minute>=10)//minute strReturn=strReturn+minute+":"; else strReturn=strReturn+"0"+minute+":"; if(second>=10)//second strReturn=strReturn+second; else strReturn=strReturn+"0"+second; return strReturn; } /** * 返回本类中时间 * @return */ public String toStringTime (){ return toStringTime(this.CreateNewCalendar()); } /** * NewmanCalendar->Calendar * @param newmancalendar * @return */ public Calendar toCalendar(NewmanCalendar newmancalendar){ this.m_CurrentDate=new GregorianCalendar(newmancalendar.getYear(), newmancalendar.getMonth() ,newmancalendar.getDate() ,newmancalendar.getHour() , newmancalendar.getMinute() ,newmancalendar.getSecond()); return this.m_CurrentDate ; } // 日期转换-----end/** * 日期加-----start */ /** *日期相加 * @param field "YEAR" * @param value * @return */ public NewmanCalendar add(int field,int value1){ this.m_CurrentDate=new GregorianCalendar(this.m_Year,this.m_Month, this.m_Date ,this.m_Hour ,this.m_Minute ,this.m_Second); this.m_CurrentDate.add(field,value1); return this.toNewmanCalendar(this.m_CurrentDate) ; } //日期加-----end /** * 日期减-----start */ /** * 日期的差值 * @param field 关键字 * year: 1; month: 2; date: 5; hour: 10; minute: 12; second: 13. * @param nc1 日期 * @param nc2 日期 * @return 差值(nc2-nc1) */ public long getGap(int field,NewmanCalendar nc1,NewmanCalendar nc2){ long value=this.minusNewmanCalendar(nc1,nc2);//毫秒; switch(field){ case 1:{//year value=nc2.getYear()-nc1.getYear(); break; } case 2:{//month 月份不是很准 int yvalue=nc2.getYear()-nc1.getYear(); int mvalue=nc2.getMonth()-nc1.getMonth()+1; value=yvalue*12+mvalue; /* value=value/(24*60*60*1000); value/=30; */ break; } case 5:{//date value=value/(24*60*60*1000); break; } case 10:{//hour value=value/(60*60*1000); break; } case 12:{//minute value=value/(60*1000); break; } case 13:{//second value=value/(1000); break; } default:{ value=0; break; } } return value; } /** * 返回差值 毫秒 * @param nc * @return * 和成员变量比较 */ protected long minusNewmanCalendar(NewmanCalendar nc){ this.m_NewmanCalendar=this.CreateNewCalendar(); return this.minusNewmanCalendar(this.m_NewmanCalendar ,nc); } /** * 返回差值 毫秒 * @param nc1 * @param nc2 * @return * 和外部变量比较 */ protected long minusNewmanCalendar(NewmanCalendar nc1,NewmanCalendar nc2 ){ long millsecond1=nc1.getTimeInMillis() ; long millsecond2=nc2.getTimeInMillis() ; long gap=millsecond2-millsecond1; return gap; }//日期减-----end java2核心技术这本书你有没有,光盘上的corejava.Day就可以用了,很简单,功能很强大:) java界面设计问题 不知道在线编辑器的 [自动排版]功能怎么做!我看fck也没有这个功能!只有 大家共同帮忙捕捉一下这个异常! DBF数据文件导入 Swing里面有没有办法动态刷新JTable中的内容,看起来就像是动态滚动,时时显示最新产生新数据!!100分求救!!!! 我的聊天界面,怎么写才能完成两端通信呢? String的replaceall中,如何把字符串中的?替换为其他的字符? 为什么运行之后不能显示图片? jdk1.4.2下的各个文件的作用,越详细分越多?? Java的三种境界,你在哪一种? 能给个域名->ip地址的例子吗 Applet,这个苹果好难吃
test.set(Calendar.YEAR, 2003);
test.set(Calendar.MONTH, 8);
int totalDay = test.getActualMaximum(Calendar.DAY_OF_MONTH);
test.set(Calendar.YEAR, 2003);
test.set(Calendar.MONTH, 8);
test.set(DAY_OF_MONTH, 21);
int weekday= test.get(DAY_OF_WEEK );
import javax.swing.*;
import com.newman.io.Debug;
import com.newman.lang.MyString;
import com.newman.lang.StringToken;/**
* <p>Title: newman的类库</p>
* <p>Description: 没有最好只有更好</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: shu</p>
* @author [email protected]
* @version 1.0
*/ /**
* 该类主要用于时间处理
*
* 功能:
* 日期创建,日期的获得,两个日期的比较,日期加减(加天,加年,加月,加时,加分,加秒),
* 日期格式(归整2002/07/08),日期转换(toString,toCalendar),
*
* 时间创建,获取秒数,获取分钟数,两个时间的比较,时间加减(加天,加时,加分,加秒),
* 时间格式(归整2002/07/08),时间转换(toString,toCalendar),
*
*/ /**
* 注意:月是0-11
*
*/
public class NewmanCalendar {
private int m_Year;
private int m_Month;//用于显示(从零开始)(0-11)
private int m_Date;
private int m_Hour;
private int m_Minute;
private int m_Second;
//---------------------
private Calendar m_CurrentDate;
private NewmanCalendar m_NewmanCalendar;
//---------------------
final public static int YEAR=1;//测试得到,没有其它意思.
final public static int MONTH=2;
final public static int DATE=5;
final public static int HOUR=10;
final public static int MINUTE=12;
final public static int SECOND=13;/**
* 以下三个构造函数是:日期创建
* 构造函数-----start
*/ /**
* 无参数构造,日期创建
*/
public NewmanCalendar() {
this.m_CurrentDate=new GregorianCalendar();
this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate);
} /**
* 参数构造,日期创建
* @param year
* @param month
* @param Date
*/
public NewmanCalendar(int year,int month,int Date){
m_CurrentDate=new GregorianCalendar();
this.m_CurrentDate.set(Calendar.YEAR,year);
this.m_CurrentDate.set(Calendar.MONTH,month);
this.m_CurrentDate.set(Calendar.DATE,Date);
this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate);
}/**
* 参数构造,日期创建
* @param Date
* @param hour
* @param minute
* @param second
*/
public NewmanCalendar(int Date,int hour,int minute,int second){
this.m_CurrentDate=new GregorianCalendar();
this.m_CurrentDate=new GregorianCalendar(this.m_CurrentDate.get(Calendar.YEAR ),
this.m_CurrentDate.get(Calendar.MONTH ),Date,hour,minute,second);
this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate) ;
}/**
* 参数构造,日期创建
* @param year
* @param month
* @param Date
* @param hour
* @param minute
* @param second
*/
public NewmanCalendar(int year,int month,int Date,int hour,int minute,int second){
this.m_CurrentDate=new GregorianCalendar(year,month,Date,hour,minute,second);
this.m_NewmanCalendar=this.getNewmanCalendar(this.m_CurrentDate);
} /**
* 创建同类
* @param nc1
*/
public NewmanCalendar(NewmanCalendar nc1){
this.getNewmanCalendar(nc1.toCalendar(nc1));
}
//构造函数-----end /**
* 返回当前时间值
* @return NewmanCalendar类型
* 日期的获得-----start
*/
public NewmanCalendar Now(){
this.m_CurrentDate=new GregorianCalendar();
return this.getNewmanCalendar(this.m_CurrentDate);
}/**
* 从传入的Calendar类,获取NewmanCalendar 转换
* 多重调用
* @param calendar类对象
* @return NewmanCalendar
*/
private NewmanCalendar getNewmanCalendar(Calendar calendar){//GregorianCalendar is inherit Calendar
this.m_Year=calendar.get(Calendar.YEAR );
this.m_Month=calendar.get(Calendar.MONTH );
this.m_Date=calendar.get(Calendar.DATE) ;
this.m_Hour=calendar.get(Calendar.HOUR_OF_DAY );//24-hour clock
this.m_Minute=calendar.get(Calendar.MINUTE);
this.m_Second=calendar.get(Calendar.SECOND);
return this;
}
//日期的获得-----end //日期的赋值-----start
/**
* 用calendar对象给this.m_NewmanCalendar成员变量赋值
* @param calendar
*/
private void SetNewmanCalendar(Calendar calendar){
this.m_NewmanCalendar=this.getNewmanCalendar(calendar);
}
//日期的赋值-----end /**
* 以自己的成员变量建立一个NewmanCalendar类型的值。
* @return
*/
private NewmanCalendar CreateNewCalendar(){
this.m_NewmanCalendar=new NewmanCalendar(this.m_Year,this.m_Month,
this.m_Date ,this.m_Hour ,this.m_Minute ,this.m_Second);
return this.m_NewmanCalendar;
} /**
* 属性值获取-----start
* @return
* 比我们的实际值小1,因为是从0开始的
*/
public int getYear(){
return this.m_Year;
} public int getMonth(){//0-11
return this.m_Month;
} public int getDate(){
return this.m_Date;
} public int getHour(){
return this.m_Hour;
} public int getMinute(){
return this.m_Minute;
} public int getSecond(){
return this.m_Second;
}
//属性值获取-----end /**
* 获取毫秒值
* @return long型
*/
public long getTimeInMillis(){
long millsecond=this.m_CurrentDate.getTimeInMillis() ;
return millsecond;
}
* 日期转换-----start
*
*/ /**
* String->NewmanCalendar
* @param strCalendar
* @return
*/
public NewmanCalendar toNewmanCalendar(String strCalendar){//2002/07/08; 2002-10-9 20:21:30
String str=strCalendar;
StringToken st=new StringToken(str,"/-: ");
ArrayList list=new ArrayList();
int num=0;//值的个数
list=st.workString();
if(!MyString.Assert(list))return null;
num=list.size() ;
switch(num){
case 3:{// 2002/07/08
this.m_Year=Integer.valueOf((String)list.get(0)).intValue() ;
this.m_Month=Integer.valueOf((String)list.get(1)).intValue() ;
this.m_Date=Integer.valueOf((String)list.get(2)).intValue() ;
this.m_NewmanCalendar=new NewmanCalendar(this.m_Year,this.m_Month,this.m_Date);
break;
}
case 4:{// 9 20:21:30
this.m_Date=Integer.valueOf((String)list.get(0)).intValue() ;
this.m_Hour=Integer.valueOf((String)list.get(1)).intValue() ;
this.m_Minute=Integer.valueOf((String)list.get(2)).intValue() ;
this.m_Second=Integer.valueOf((String)list.get(3)).intValue() ;
this.m_NewmanCalendar=new NewmanCalendar(this.m_Date,this.m_Hour,
this.m_Minute,this.m_Second);
break;
}
case 6:{//2002-10-9 20:21:30
this.m_Year=Integer.valueOf((String)list.get(0)).intValue() ;
this.m_Month=Integer.valueOf((String)list.get(1)).intValue() ;
this.m_Date=Integer.valueOf((String)list.get(2)).intValue() ;
this.m_Hour=Integer.valueOf((String)list.get(3)).intValue() ;
this.m_Minute=Integer.valueOf((String)list.get(4)).intValue() ;
this.m_Second=Integer.valueOf((String)list.get(5)).intValue() ;
this.m_NewmanCalendar=this.CreateNewCalendar();
break;
}
default:{
this.m_NewmanCalendar=this.Now();
break;
}
}
return this.m_NewmanCalendar;
} /**
* Calendar->NewmanCalendar
* @param strCalendar
* @return
*/
public NewmanCalendar toNewmanCalendar(Calendar calendar){
return this.getNewmanCalendar(calendar);
} /**
* NewmanCalendar->String
* @param newmancalendar
* @return 返回外部日期
* //2002-10-9 20:21:30
*/
public String toString (NewmanCalendar newmancalendar){
/*
String strReturn="";
int month=newmancalendar.getMonth()+1;//month +1显示
int date=newmancalendar.getDate() ; strReturn=""+newmancalendar.getYear()+"-";
if(month>=10)//month
strReturn=strReturn+month;
else
strReturn=strReturn+"0"+month;
strReturn=strReturn+"-";
if(date>=10)//date
strReturn=strReturn+date;
else
strReturn=strReturn+"0"+date;
*/ String strReturn="";
strReturn=this.toStringDate(newmancalendar)+" "+this.toStringTime(newmancalendar);
return strReturn;
} /**
* NewmanCalendar->String
* @return 本该类中的日期
*/
public String toString (){
this.m_NewmanCalendar=this.CreateNewCalendar();
return this.toString(this.m_NewmanCalendar);
} /**
* 只有日期返回,无时间
* NewmanCalendar->String
* @param newmancalendar
* @return 2002-10-9
*/
public String toStringDate (NewmanCalendar newmancalendar){
String strReturn="";
int month=newmancalendar.getMonth()+1;//month +1显示
int date=newmancalendar.getDate() ; strReturn=""+newmancalendar.getYear()+"-";
if(month>=10)//month
strReturn=strReturn+month;
else
strReturn=strReturn+"0"+month;
strReturn=strReturn+"-";
if(date>=10)//date
strReturn=strReturn+date;
else
strReturn=strReturn+"0"+date;
return strReturn;
} /**
* 返回本类中日期
* @return
*/
public String toStringDate (){
return toStringDate(this.CreateNewCalendar());
} /**
* 只有时间返回,无时期
* NewmanCalendar->String
* @param newmancalendar
* @return 20:21:30
*/
public String toStringTime (NewmanCalendar newmancalendar){
String strReturn="";
int hour=newmancalendar.getHour() ;
int minute=newmancalendar.getMinute();
int second=newmancalendar.getSecond(); if(hour>=10)//hour
strReturn=hour+":";
else
strReturn="0"+hour+":"; if(minute>=10)//minute
strReturn=strReturn+minute+":";
else
strReturn=strReturn+"0"+minute+":"; if(second>=10)//second
strReturn=strReturn+second;
else
strReturn=strReturn+"0"+second;
return strReturn;
} /**
* 返回本类中时间
* @return
*/
public String toStringTime (){
return toStringTime(this.CreateNewCalendar());
} /**
* NewmanCalendar->Calendar
* @param newmancalendar
* @return
*/
public Calendar toCalendar(NewmanCalendar newmancalendar){
this.m_CurrentDate=new GregorianCalendar(newmancalendar.getYear(),
newmancalendar.getMonth() ,newmancalendar.getDate() ,newmancalendar.getHour() ,
newmancalendar.getMinute() ,newmancalendar.getSecond());
return this.m_CurrentDate ;
}
// 日期转换-----end/**
* 日期加-----start
*/ /**
*日期相加
* @param field "YEAR"
* @param value
* @return
*/
public NewmanCalendar add(int field,int value1){
this.m_CurrentDate=new GregorianCalendar(this.m_Year,this.m_Month,
this.m_Date ,this.m_Hour ,this.m_Minute ,this.m_Second);
this.m_CurrentDate.add(field,value1);
return this.toNewmanCalendar(this.m_CurrentDate) ;
}
//日期加-----end
* 日期减-----start
*/ /**
* 日期的差值
* @param field 关键字
* year: 1; month: 2; date: 5; hour: 10; minute: 12; second: 13.
* @param nc1 日期
* @param nc2 日期
* @return 差值(nc2-nc1)
*/
public long getGap(int field,NewmanCalendar nc1,NewmanCalendar nc2){
long value=this.minusNewmanCalendar(nc1,nc2);//毫秒;
switch(field){
case 1:{//year
value=nc2.getYear()-nc1.getYear();
break;
}
case 2:{//month 月份不是很准
int yvalue=nc2.getYear()-nc1.getYear();
int mvalue=nc2.getMonth()-nc1.getMonth()+1;
value=yvalue*12+mvalue;
/*
value=value/(24*60*60*1000);
value/=30;
*/
break;
}
case 5:{//date
value=value/(24*60*60*1000);
break;
}
case 10:{//hour
value=value/(60*60*1000);
break; }
case 12:{//minute
value=value/(60*1000);
break;
}
case 13:{//second
value=value/(1000);
break;
}
default:{
value=0;
break;
}
}
return value;
} /**
* 返回差值 毫秒
* @param nc
* @return
* 和成员变量比较
*/
protected long minusNewmanCalendar(NewmanCalendar nc){
this.m_NewmanCalendar=this.CreateNewCalendar();
return this.minusNewmanCalendar(this.m_NewmanCalendar ,nc);
} /**
* 返回差值 毫秒
* @param nc1
* @param nc2
* @return
* 和外部变量比较
*/
protected long minusNewmanCalendar(NewmanCalendar nc1,NewmanCalendar nc2 ){
long millsecond1=nc1.getTimeInMillis() ;
long millsecond2=nc2.getTimeInMillis() ;
long gap=millsecond2-millsecond1;
return gap;
}
//日期减-----end