java时间日期计算方法

转载 2007年10月16日 10:15:00

这个类已经对时间日期的处理已经很方便了。我因为用来去一个月的天数。所以对这个类作了些稍微的修改。
希望对其他人有帮助
package com.date.util;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class FormatDate{
private static  final String [] WEEKNAME={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
private static  final String [] DATENAME={"年","月","日","时","分","秒"};
Calendar calendar=null;
public static  final int YEAR=0;//用来标识年
public static  final int MONTH=1;
public static  final int DAY=2;
public static  final int HOUR=3;
public static  final int MINUTE=4;
public static  final int SECOND=5;

//构造函数,产生一个日历对象

public FormatDate(){
calendar = new GregorianCalendar();

}
public FormatDate(Calendar calendar){
this.calendar=calendar;
}
//年
public int getYear(){
return calendar.get(Calendar.YEAR);
}
//月
public int getMonth(){
return calendar.get(Calendar.MONTH)+1;
}
//日
public int getDay(){
return calendar.get(Calendar.DAY_OF_MONTH);
}
//得到数字型的星期数
public int getWeek(){
return calendar.get(Calendar.DAY_OF_WEEK)-1;
}
//得到汉字型的星期数
public String getChweek(){
int week= getWeek();
return WEEKNAME[week];
}
public int getHour(){
return calendar.get(Calendar.HOUR_OF_DAY);
}
public int getMinute(){
return calendar.get(Calendar.MINUTE);
}
public int getSecond(){
return calendar.get(Calendar. SECOND);
}

//得到年月日时分秒格式
public String getDate(){
return getYear()+"年"+getMonth()+"月"+getDay()+"日";
}
//得到月份的天数
public int getMonthDay()
 {
 return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
 }
/*
得到某种格式的时间样式
@param style 时间的样式 如:"-" ,":"等
*/
public String getDate(String style){
if(style==null){
return getDate();
}
return getYear()+style+getMonth()+style+getDay();

}
public String getTime(){
return getHour()+"时"+getMinute()+"分"+getSecond()+"秒";
}
public String getTime(String style){
if(style==null){
return getTime();
}
return getHour()+style+getMinute()+style+getSecond();

}
/*
用来对年月日时分秒进行增加
@param times 时间的标识,如:FormatDate.YEAR或0则为在现有的年上进行增加
@param num   表示增加的数量,
*/
public void add(int times,int num){
switch(times){
case YEAR:
calendar.add(Calendar.YEAR,num);break;
case MONTH:
calendar.add(Calendar.MONTH,num);break;
case DAY:
calendar.add(Calendar.DAY_OF_MONTH,num);break;
case HOUR:
calendar.add(Calendar.HOUR_OF_DAY,num);break;
case MINUTE:
calendar.add(Calendar.MINUTE,num);break;
case SECOND:
calendar.add(Calendar.SECOND,num);break;
default :
System.out.println("函数的第一个参数不对");
}
}
public String toString(){
return getDate()+" "+getTime();

}
public static void main(String[] args){
//注意月份的使用1为二月,向前累加,
//指定一个日期
GregorianCalendar calendar = new GregorianCalendar(2004,11,1);
FormatDate fd=new FormatDate(calendar);


//使用当前日期,取系统日期
//FormatDate fd=new FormatDate();
//fd.add(1,2);
System.out.println(fd.getYear());
System.out.println(fd.getMonth());

System.out.println(fd.getDay());
System.out.println(fd.getWeek());
System.out.print(fd.getDate("-")+" ");
System.out.println(fd.getChweek());
System.out.println(fd.getHour());
System.out.println(fd.getMinute());
System.out.println(fd.getSecond());
System.out.println(fd.getMonthDay());
System.out.println(fd.getTime(":"));
System.out.println(fd.toString());

}


}

  

java:通过Calendar类正确计算两日期之间的间隔

网上已有的一些通过Calendar类正确计算两日期之间的间隔的代码存在一定缺陷,在这里我分析了两种特殊情况并改进了代码。...
  • u012336619
  • u012336619
  • 2017年03月03日 17:47
  • 3577

Java常见日期格式及日期的计算工具类

Java 获取指定时间的日期,日期相差天数的计算
  • xiaoshen_joyin
  • xiaoshen_joyin
  • 2016年02月28日 22:38
  • 1647

java工具类-计算相对时间的工具类即两个时间的时间差

java相对时间的工具类,此类中有两个暴露的方法,相对于当前时间的方法和相对于某时间的方法。 返回String,如:2小时前/3天2时13秒/昨天...
  • sgyingyin
  • sgyingyin
  • 2016年08月19日 16:38
  • 2281

Android中时间、日期的计算方法

方法一:使用java.text.SimpleDateFormat和java.util.Date进行计算import android.support.v7.app.AppCompatActivity; ...
  • zxc514257857
  • zxc514257857
  • 2017年06月19日 14:00
  • 287

时间日期工具类 封装工作中常用的一些时间日期计算方法(转+自己修改)

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat;...
  • zl541907196
  • zl541907196
  • 2013年11月28日 09:43
  • 954

java日期计算工具类【包含常用的日期计算方法】

java日期计算工具类【包含常用的日期计算方法】 package com.test; import java.sql.Timestamp; import java.text.SimpleDateF...
  • jammiwang19870815
  • jammiwang19870815
  • 2013年06月28日 13:20
  • 859

SQL Server各种日期计算方法

  • 2007年10月05日 23:10
  • 7KB
  • 下载

js中Date()的用法及日期计算方法

Date函数是用来处理日期和时间的,其时间是和GMT时间1970年1月1日进行比较的。 Date函数有6种构造函数,如下: new Date();                         ...
  • mafan121
  • mafan121
  • 2016年08月25日 16:01
  • 5359

两个日期之间闰年数计算方法探索

近来需要计算两个日期之间的差值,想使用直接计算的方法来计算两个日期之间的差值,今天偶然发现了一个规律,于是记录下来,以共享,欢迎拥有更加好的算法朋友批评指正。...
  • lightlater
  • lightlater
  • 2011年02月12日 18:52
  • 4053

SQL Server各种日期计算方法

  通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几...
  • lasig
  • lasig
  • 2011年06月08日 11:31
  • 445
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java时间日期计算方法
举报原因:
原因补充:

(最多只允许输入30个字)