java中的日期处理类总结
JAVA处理日期时间常用方法
JA V A处理日期时间常用方法:java.util.CalendarCalendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期提供了一些方法。
瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年 1 月1 日的00:00:00。
000,格里高利历的偏移量.例:Calendar cal = Calendar。
getInstance(;//使用默认时区和语言环境获得一个日历。
cal。
add(Calendar.DAY_OF_MONTH, -1;//取当前日期的前一天。
cal。
add(Calendar。
DAY_OF_MONTH, +1;//取当前日期的后一天。
//通过格式化输出日期java.text.SimpleDateFormat format = new java.text。
SimpleDateFormat(”yyyy-MM—dd";System。
out.println("Today is:”+format。
format(Calendar.getInstance(.getTime (;System。
out.println("yesterday is:"+format.format(cal.getTime(;得到2007—12-25日期: Calendar calendar = new GregorianCalendar(2007,11, 25,0,0,0;Date date = calendar.getTime(;System。
out.println("2007 Christmasis:”+format.format(date;//java月份是从0—11,月份设置时要减1。
//GregorianCalendar构造方法参数依次为:年,月—1,日,时,分,秒。
java美式时间格式,日期操作类(DateFormat与SimpleDateFormat)。。。
java美式时间格式,⽇期操作类(DateFormat与SimpleDateFormat)。
1.DateFormat类此类是⼀个⽇期的格式化类,专门格式化⽇期的操作,因为java.util.Date类本⾝就已经包含了完整的⽇期,所以只需要将些⽇期按照⼀些好的格式格式化⼀下显⽰就好了.观察DateFormat类的定义:此类是定义在java.test包中的。
public abstract class DateFormat extends Format但是定义上可以发现,此类是⼀个抽象类,按照以住的思路,直接使⽤其⼦类实例化即可,但是DateFormat 类本⾝的内部提供了可以直接为其实例化的操作。
得到⽇期的DateFormat对象:public static final DateFormat getDateInstance()得到⽇期时间的DateFormat对象:public static final DateFormat getDateTimeInstance()直接使⽤DateFormat类完成Date类的转换功能:public final String format(Date date)美式⽇期格式12345678910111213import java.text.DateFormat ;import java.util.Date ;public class DateDemo03{public static void main(String args[]){DateFormat df1 =null ;// 声明⼀个DateFormatDateFormat df2 =null ;// 声明⼀个DateFormatdf1 = DateFormat.getDateInstance() ;// 得到⽇期的DateFormat对象df2 = DateFormat.getDateTimeInstance() ;// 得到⽇期时间的DateFormat对象System.out.println("DATE:" + df1.format(new Date())) ;// 按照⽇期格式化System.out.println("DATETIME:" + df2.format(new Date())) ;// 按照⽇期时间格式化}};中式⽇期格式(通过Locale对象指定要显⽰的区域,指定的区域是中国)importjava.text.DateFormat ;importjava.util.Date ;importjava.util.Locale ;publicclassDateDemo04{publicstaticvoidmain(String args[]){DateFormat df1 = null;// 声明⼀个DateFormatDateFormat df2 = null;// 声明⼀个DateFormatdf1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,newLocale("zh","CN")) ;// 得到⽇期的DateFormat对象df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,newLocale("zh","CN")) ;// 得到⽇期时间的DateFormat对象System.out.println("DATE:"+ df1.format(newDate())) ;// 按照⽇期格式化System.out.println("DATETIME:"+ df2.format(newDate())) ;// 按照⽇期时间格式化}}; 2.SimpleDateFormat类此类的功能是完成⽇期的显⽰格式化的,例如,在开发中,可以会将⼀种⽇期格式变为另外⼀种⽇期格式,如下所⽰:原始⽇期:2008-10-19 10:11:30.345转换捕⽇期:2008 年 10 ⽉ 19 ⽇ 10 点 11 分 30 秒 345 毫秒但是以上的两个⽇期中⽇期的数字是完全⼀样的,唯⼀不同的是⽇期的显⽰格式不同,所以要想实现这样的转换功能就必须依靠SimpleDateFormat类。
Java对日期Date类进行加减运算、年份加减月份加减、时间差等等
Java对⽇期Date类进⾏加减运算、年份加减⽉份加减、时间差等等实现代码⼀:import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateTestUtil {public static void main(String[] args) throws Exception {SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");String str="20110823";Date dt=sdf.parse(str);Calendar rightNow = Calendar.getInstance();rightNow.setTime(dt);rightNow.add(Calendar.YEAR,-1);//⽇期减1年rightNow.add(Calendar.MONTH,3);//⽇期加3个⽉rightNow.add(Calendar.DAY_OF_YEAR,10);//⽇期加10天Date dt1=rightNow.getTime();String reStr = sdf.format(dt1);System.out.println(reStr);}}注:在Calendar对象的add⽅法中,第⼆个参数为正数表⽰“加”,负数表⽰“减”。
代码⼆: java date ⽇期加减天数测试类代码:import java.text.SimpleDateFormat;import java.util.Date;public class DateTest {public static void main(String[] arg){Date now = new Date();addAndSubtractDaysByGetTime(now,-5);addAndSubtractDaysByGetTime(now,5);addAndSubtractDaysByCalendar(now,-5);addAndSubtractDaysByCalendar(now,5);}public static Date addAndSubtractDaysByGetTime(Date dateTime/*待处理的⽇期*/,int n/*加减天数*/){//⽇期格式SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat dd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(df.format(new Date(dateTime.getTime() + n * 24 * 60 * 60 * 1000L)));//System.out.println(dd.format(new Date(dateTime.getTime() + n * 24 * 60 * 60 * 1000L)));//注意这⾥⼀定要转换成Long类型,要不n超过25时会出现范围溢出,从⽽得不到想要的⽇期值return new Date(dateTime.getTime() + n * 24 * 60 * 60 * 1000L);}public static Date addAndSubtractDaysByCalendar(Date dateTime/*待处理的⽇期*/,int n/*加减天数*/){//⽇期格式SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat dd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Calendar calstart = java.util.Calendar.getInstance();calstart.setTime(dateTime);calstart.add(java.util.Calendar.DAY_OF_WEEK, n);System.out.println(df.format(calstart.getTime()));//System.out.println(dd.format(calstart.getTime()));return calstart.getTime();}}运⾏结果:2014-10-062014-10-162014-10-062014-10-16代码三:在⽹上查阅资料,加上⾃⼰总结的⼀些关于Date类的⼯具类。
java处理timestamp以及和date转换关系的总结
Java中Date及Timestamp时间相关内容(基本上看这一份就可以了)java.util.date java.sql.date java.sql.timestamp整理一:这里的一片文章,我个人认为讲解的很详细,有对 java.sql.Date的使用还有困惑的请看。
java.sql.Date 只存储日期数据不存储时间数据// 会丢失时间数据preparedStatement.setDate(1, new java.sql.Date(date.getTime()));//可以这样来处理preparedStatement.setTimestamp(1, new java.sql.Timestamp(newjava.util.Date().getTime()));//想要得到完整的数据,包括日期和时间,可以这样java.util.Date d = resultSet.getTimestamp(1);//这样处理更合适一些,可以避免一些潜在Timestamp 问题java.util.Date d = newjava.util.Date(resultSet.getTimestamp(1).getTime());自己补的话这样的话:往数据库存储的时候可以接收 java.util.Date类型再用getTime()方法得到代表那个Date对象的long值,再以这个long值构造一个Timestamp 对象存进数据库中。
从存数据库里取的时候,可以先得到Timestamp用他的getTime()方法得到long值,再以这个long值构造一个 java.util.Date对象,这样就可以对这个Date对象操作了。
不如说 new SimpleTimeFormat("yyyyy-MM-ddHH:mm:ss").format()等等整理二:用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时重新定义格式。
java中date类的常用方法
java中date类的常用方法Java中的Date类是用于表示日期和时间的类,它提供了一系列常用的方法来处理日期和时间的操作。
下面将介绍Date类的一些常用方法。
1. getDate():获取当前日期的天数。
返回值为一个整数,范围从1到31。
2. getMonth():获取当前日期的月份。
返回值为一个整数,范围从0到11,其中0表示一月,11表示十二月。
3. getYear():获取当前日期的年份。
返回值为一个整数,表示当前年份减去1900。
4. getDay():获取当前日期是星期几。
返回值为一个整数,范围从0到6,其中0表示星期日,1表示星期一,以此类推。
5. getHours():获取当前时间的小时数。
返回值为一个整数,范围从0到23。
6. getMinutes():获取当前时间的分钟数。
返回值为一个整数,范围从0到59。
7. getSeconds():获取当前时间的秒数。
返回值为一个整数,范围从0到59。
8. getTime():获取当前日期和时间的毫秒数。
返回值为一个长整型数字,表示从1970年1月1日00:00:00 GMT到当前日期和时间的毫秒数。
9. setTime():设置日期和时间。
接受一个长整型参数,表示从1970年1月1日00:00:00 GMT到所设置日期和时间的毫秒数。
10. after(Date date):判断当前日期是否在指定日期之后。
返回值为一个布尔值,如果当前日期在指定日期之后,则返回true,否则返回false。
11. before(Date date):判断当前日期是否在指定日期之前。
返回值为一个布尔值,如果当前日期在指定日期之前,则返回true,否则返回false。
12. compareTo(Date date):比较当前日期和指定日期的顺序。
返回值为一个整数,如果当前日期在指定日期之前,则返回负数;如果当前日期等于指定日期,则返回0;如果当前日期在指定日期之后,则返回正数。
java date before和after的用法-概述说明以及解释
java date before和after的用法-概述说明以及解释1.引言1.1 概述在Java编程中,日期和时间的处理是一项重要的任务。
在处理日期和时间时,常常需要进行比较或者判断时间先后顺序的操作。
Java提供了Date类作为表示日期和时间的类,并且通过before和after方法提供了便捷的日期比较功能。
在本篇文章中,我们将深入探讨Java Date类的before和after方法的用法。
这两个方法可以用来比较两个日期的先后关系,并且返回相应的布尔值。
在接下来的正文部分,我们将首先介绍Java中的Date类,了解它的基本功能和使用方法。
然后,我们将详细讨论Date类的before方法和after方法,探讨它们的使用场景和注意事项。
最后,我们将对所学内容进行总结,并提供一些实际应用场景的示例,以帮助读者更好地理解和运用before和after方法。
通过学习本文,读者将能够全面掌握Java中Date类的before和after 方法的用法,从而在实际开发中更加灵活和高效地处理日期和时间的比较操作。
让我们开始探索吧!1.2文章结构《Java Date before和after的用法》文章结构:1. 引言1.1 概述1.2 文章结构文章将分为以下几个部分:- 正文部分将介绍Java中的Date类以及其常用的before和after方法的用法。
- 结论部分将对这两个方法的使用进行总结,并探讨它们在实际应用中的使用场景。
2. 正文2.1 Java中的Date类- 简要介绍Java中的Date类,提及其在日期和时间处理中的常用性。
2.2 Date类的before方法- 解释before方法的作用,即判断一个日期是否在另一个日期之前。
- 详细介绍before方法的使用方式,包括参数的含义和返回值的含义。
- 给出一些示例代码以帮助读者更好地理解before方法的实际应用。
2.3 Date类的after方法- 解释after方法的作用,即判断一个日期是否在另一个日期之后。
datetime在java中的类型
datetime在java中的类型在 Java 编程中,处理日期和时间是非常常见的一部分,Java中也为此提供了多种时间和日期类型。
其中,最常用的时间和日期类型就是 DateTime 类型,这个类型在 Java 中可以有多种不同的实现。
下面,我们来一步步了解在 Java 中 DateTime 类型的实现:一、Java.util.Date 类型Java.util.Date 是一个非常古老的时间和日期类型,它表示时间和日期的毫秒级精度,可以表示最早日期为 1970 年 1 月 1 日。
这种类型的缺陷在于它的设计存在一些瑕疵,比如它是可变的,这就意味着如果你不小心调用了任何修改其内部状态的方法,就会导致出现一些奇怪的行为。
二、Java.util.Calendar 类型Java.util.Calendar 是另一种 Java 中处理日期和时间的重要类型,它表示了一个日历时间(calendar)的对象实例,可以进行和控制与日历时间相关的操作,并支持多种不同的日历体系。
但是,这个类型也存在一些相似的问题,比如它也不是线程安全的,不是易于使用的,也不支持一些很基本的操作,比如良好的日期格式化和解析。
三、Java.time 类型Java.time 是 Java SE 8 中加入的 Java 新 API,它提供了全新的日期和时间 API,包括 LocalDate、LocalTime、LocalDateTime等类。
这些类设计良好,不可变、线程安全,易于使用,并提供了广泛的方法来完成各种日期和时间操作,允许精确到纳秒级别的时间戳,能够硬性避免一系列与历史时间有关的问题。
其中,最重要的一个类是 Instant 类,它表示的是时间线上的一个点,可以绝对地指定时间点和日期。
而 LocalDateTime、ZonedDateTime、OffsetDateTime、ZonedOffset 等类,则允许你将该Instant 类型转换为其它的时间和日期格式,比如时间戳、本地日期、本地时间等。
java中的date方法
java中的date方法
Java中的Date方法是用来处理日期和时间的方法。
Java中Date 类是一个表示日期和时间的类,它包含了一系列的构造方法和方法来操作日期和时间。
Date方法可以用来获取当前时间、获取指定时间
的年月日时分秒、比较两个时间的先后顺序等等。
Date类中常用的方法有:
1. getTime()方法:获取当前时间的毫秒值。
2. toString()方法:将当前时间转换为字符串形式。
3. compareTo()方法:比较两个时间的先后顺序。
4. after()方法和before()方法:判断一个时间是否在另一个
时间之后或之前。
5. getYear()、getMonth()、getDay()、getHours()、getMinutes()和getSeconds()方法:获取指定时间的年、月、日、时、分、秒。
除了Date类,Java中还有一些其他的时间处理类,比如Calendar 类和SimpleDateFormat类等,它们都可以用来处理日期和时间。
在
实际开发中,我们需要根据具体需求来选择合适的时间处理类来使用。
- 1 -。
java处理日期时间相加减大全
java处理⽇期时间相加减⼤全 本⽂由⼴州疯狂软件java培训分享: java处理⽇期时间相加减 JAVA处理⽇期时间常⽤⽅法: 1.java.util.Calendar Calendar 类是⼀个抽象类,它为特定瞬间与⼀组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等⽇历字段之间的转换提供了⼀些⽅法,并为操作⽇历字段(例如获得下星期的⽇期)提供了⼀些⽅法。
瞬间可⽤毫秒值来表⽰,它是距历元(即格林威治标准时间 1970 年 1⽉ 1 ⽇的 00:00:00.000,格⾥⾼利历)的偏移量。
例: Java代码 1. Calendar cal = Calendar.getInstance();//使⽤默认时区和语⾔环境获得⼀个⽇历。
2. cal.add(Calendar.DAY_OF_MONTH, -1);//取当前⽇期的前⼀天. 3. 4. cal.add(Calendar.DAY_OF_MONTH, +1);//取当前⽇期的后⼀天. 5. 6. //通过格式化输出⽇期 7. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); 8. 9. System.out.println("Today is:"+format.format(Calendar.getInstance().getTime())); 10. 11. System.out.println("yesterday is:"+format.format(cal.getTime())); 得到2007-12-25⽇期: Java代码 1. Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0); 2. Date date = calendar.getTime(); 3. System.out.println("2007 Christmas is:"+format.format(date)); java⽉份是从0-11,⽉份设置时要减1. GregorianCalendar构造⽅法参数依次为:年,⽉-1,⽇,时,分,秒.取⽇期的部分: Java代码 1. int year =calendar.get(Calendar.YEAR); 2. 3. int month=calendar.get(Calendar.MONTH)+1; 4. 5. int day =calendar.get(Calendar.DAY_OF_MONTH); 6. 7. int hour =calendar.get(Calendar.HOUR_OF_DAY); 8. 9. int minute =calendar.get(Calendar.MINUTE); 10. 11. int seconds =calendar.get(Calendar.SECOND); 取⽉份要加1. 判断当前⽉份的最⼤天数: Java代码 1. Calendar cal = Calendar.getInstance(); 2. int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH); 3. System.out.println(day); 2.java.util.Date Java代码 1. java.util.Date today=new java.util.Date(); 2. System.out.println("Today is "+formats.format(today)); 取当⽉的第⼀天: Java代码 1. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01"); 2. java.util.Date firstDay=new java.util.Date(); 3. System.out.println("the month first day is "+formats.format(firstDay)); 取当⽉的最后⼀天: Java代码 1. 2. Calendar cal = Calendar.getInstance(); 3. int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH); 4. java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay); 5. System.out.println(formatter3.format(cal.getTime())); 求两个⽇期之间相隔的天数: Java代码 1. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); 2. java.util.Date beginDate= format.parse("2007-12-24"); 3. java.util.Date endDate= format.parse("2007-12-25"); 4. long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); 5. System.out.println("相隔的天数="+day); ⼀年前的⽇期: Java代码 1. java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); 2. java.util.Date todayDate=new java.util.Date(); 3. long beforeTime=(todayDate.getTime()/1000)-60*60*24*365; 4. todayDate.setTime(beforeTime*1000); 5. String beforeDate=formatter.format(todayDate); 6. System.out.println(beforeDate); ⼀年后的⽇期: Java代码 1. java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); 2. java.util.Date todayDate=new java.util.Date(); 3. long afterTime=(todayDate.getTime()/1000)+60*60*24*365; 4. todayDate.setTime(afterTime*1000); 5. String afterDate=formatter.format(todayDate); 6. System.out.println(afterDate); 求10⼩时后的时间 Java代码 1. java.util.Calendar Cal=java.util.Calendar.getInstance(); 2. Cal.setTime(dateOper); 3. Cal.add(java.util.Calendar.HOUR_OF_DAY,10); 4. System.out.println("date:"+forma.format(Cal.getTime())); 求10⼩时前的时间 Java代码 1. java.util.Calendar Cal=java.util.Calendar.getInstance(); 2. Cal.setTime(dateOper); 3. Cal.add(java.util.Calendar.HOUR_OF_DAY,-10); 4. System.out.println("date:"+forma.format(Cal.getTime())); 3.java.sql.Date 继承⾃java.util.Date,是操作数据库⽤的⽇期类型 Java代码 1. java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime()); ⽇期⽐较:简单的⽐较可以以字符串的形式直接⽐较,也可使⽤ java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))⽅式来⽐较⽇期的⼤⼩.也可使⽤java.util.Date.after(java.util.Date)来⽐较. 相差时间: long difference=c2.getTimeInMillis()-c1.getTimeInMillis(); 相差天数:long day=difference/(3600*24*1000) 相差⼩时:long hour=difference/(3600*1000) 相差分钟:long minute=difference/(60*1000) 相差秒: long second=difference/1000 疯狂软件教育中⼼依托开发团队的强⼤技术实⼒,把企业最新技术融⼊实训课程,打造⾦牌的品质,才能给予学员黄⾦的未来,疯狂软件凭借过硬的技术实⼒与丰富的项⽬开发经验,赢得了社会的肯定。
Calendar日历类—使用总结
Calendar日历类—使用总结1. 获取Calendar实例:可以通过调用Calendar类的静态方法getInstance(来获取一个Calendar实例。
该方法会返回一个默认时区和默认语言环境的Calendar 对象。
2.设置日期和时间:可以通过调用Calendar实例的set方法来设置日期和时间。
set方法接收两个参数,第一个参数是Calendar类的字段常量,用于指定要设置的日期或时间的字段,第二个参数是要设置的值。
3.获取日期和时间:可以通过调用Calendar实例的get方法来获取日期和时间。
get方法接收一个参数,用于指定要获取的日期或时间的字段。
可以使用Calendar类的静态字段来指定要获取的字段,比如Calendar.YEAR表示年份,Calendar.MONTH表示月份等。
4.计算日期和时间差:可以通过调用Calendar实例的add方法来计算日期和时间的差。
add 方法接收两个参数,第一个参数是Calendar类的字段常量,用于指定要计算的日期或时间的字段,第二个参数是要添加或减去的值。
5.格式化日期和时间:可以通过调用Calendar实例的getTime方法将Calendar对象转换为Date对象,然后使用SimpleDateFormat类来格式化日期和时间。
SimpleDateFormat类提供了一系列用于格式化日期和时间的方法,比如format方法用于将日期和时间格式化为指定的字符串,parse方法用于将字符串解析为日期和时间。
在实际使用Calendar类时,可以根据具体需求灵活运用上述方法。
以下是一些常见的使用场景:1.获取当前日期和时间:可以通过调用Calendar.getInstance(方法获取一个表示当前日期和时间的Calendar对象,然后使用get方法获取年、月、日、时、分、秒等字段的值。
2.计算日期和时间差:可以通过调用Calendar.getInstance(方法获取两个Calendar对象,然后使用getTimeInMillis方法获取两个日期和时间的毫秒数差,再将毫秒数差转换为天、小时、分钟、秒等单位。
java中datecreate类的用法
文章标题:深入探讨Java中Date类的用法及其重要性在现代的软件开发领域中,时间和日期的处理是至关重要的。
在Java编程语言中,Date类是处理日期和时间的基本类之一,它提供了多种方法来操作日期和时间,包括获取当前日期、计算日期差值、格式化日期等。
本文将深入探讨Java中Date类的用法,并探讨其在实际软件开发中的重要性。
1. Date类的基本介绍在Java中,Date类位于java.util包中,它表示特定的瞬间,精确到毫秒。
Date类的构造函数可以不带参数,此时会获取当前的系统时间;也可以传入long类型的参数,代表时间戳;还可以传入年、月、日等参数,来创建特定日期的实例。
Date类提供了多种方法来获取、设置和比较日期。
2. Date类的常用方法Date类提供了一系列的方法来操作日期和时间,其中包括了获取、设置、比较等操作。
getDate()方法用于获取日期中的天数,getMonth()方法用于获取月份,getYear()方法用于获取年份等。
Date类还提供了toString()方法,用于将日期转换为字符串表示形式;getTime()方法用于获取时间戳等。
除了以上方法外,Date类还提供了一系列的构造函数和静态方法来更方便地操作日期和时间。
3. SimpleDateFormat类的使用在实际开发中,经常需要将日期和时间按照一定的格式显示,这时可以使用SimpleDateFormat类。
SimpleDateFormat类可以将Date对象格式化为指定的日期字符串,也可以将日期字符串解析为Date对象。
通过SimpleDateFormat类的format()方法和parse()方法,可以实现日期和字符串之间的相互转换。
4. 时区和国际化的处理在全球化的应用中,处理时区和国际化是非常重要的。
Java提供了TimeZone类来处理时区信息,Locale类来处理国际化信息。
通过TimeZone类和Locale类,可以在不同的时区和语言环境下进行日期和时间的处理,使得应用程序具有更好的适用性。
java中date的方法
Java中的Date类是Java API中表示日期和时间的类,它提供了许多方法来获取和处理日期和时间。
本文将介绍Java中Date类的一些常用方法。
一、获取当前日期和时间Java中可以使用Date类的getCurrentDate()方法获取当前日期和时间。
这个方法返回一个Date对象,该对象包含了当前日期和时间。
示例代码:Date now = new Date();System.out.println(now);二、设置日期和时间Java中可以使用Date类的setDate()、setMonth()、setYear()、setHours()等方法来设置日期和时间。
这些方法接受一个int类型的参数,表示日期、月份、年份、小时数等。
示例代码:Date date = new Date();date.setYear(2023);date.setMonth(7);date.setDate(15);date.setHours(12);System.out.println(date);三、获取日期部分Java中可以使用Date类的getDate()、getMonth()、getYear()等方法来获取日期部分。
这些方法返回一个int类型的值,表示日期、月份、年份等。
示例代码:Date date = new Date();int day = date.getDate();int month = date.getMonth();int year = date.getYear();System.out.println("Day: " + day);System.out.println("Month: " + month);System.out.println("Year: " + year);四、比较日期和时间Java中可以使用Date类的before()和after()方法来比较两个日期和时间的大小关系。
localdate和localtime用法
文章内容示例:题目:深入了解localdate和localtime用法1. 介绍在Java编程中,localdate和localtime是非常常用的日期和时间类。
它们提供了丰富的功能,可以帮助我们处理日期和时间的操作。
在本篇文章中,我们将深入探讨localdate和localtime的用法,帮助您更好地理解这两个类的功能和特性。
2. 什么是localdate和localtimelocaldate是Java 8中的日期类,它表示ISO-8601日历系统中的日期。
它提供了丰富的方法用于处理日期相关的操作,如日期的计算、比较、格式化等。
而localtime是Java 8中的时间类,它表示ISO-8601日历系统中的时间。
它也提供了丰富的方法用于处理时间相关的操作,如时间的计算、比较、格式化等。
localdate和localtime可以分别使用,也可以组合在一起使用,以满足不同的需求。
3. localdate和localtime的基本用法让我们来看一下localdate和localtime的基本用法。
3.1 localdate的用法localdate可以通过now()方法获取当前日期,也可以通过of()方法指定年、月、日来创建特定日期。
它还提供了丰富的方法用于日期的计算和操作,比如plusDays()、minusDays()、isEqual()等。
localdate 还支持日期的格式化,可以将日期格式化为指定的格式。
3.2 localtime的用法localtime也可以通过now()方法获取当前时间,也可以通过of()方法指定时、分、秒来创建特定时间。
它同样提供了丰富的方法用于时间的计算和操作,比如plusHours()、minusHours()、isAfter()等。
localtime也支持时间的格式化,可以将时间格式化为指定的格式。
4. localdate和localtime的组合使用除了分别使用localdate和localtime外,我们还可以将它们组合在一起使用。
java localdate常用方法
java localdate常用方法Java LocalDate是Java 8中的一个日期类,用于表示不带时区的日期。
它提供了一系列常用的方法来操作和处理日期。
本文将介绍LocalDate类的常用方法,帮助读者更好地理解和使用该类。
1. 获取当前日期在Java中,我们可以使用LocalDate.now()方法获取当前日期。
下面是示例代码:LocalDate currentDate = LocalDate.now();System.out.println(currentDate);以上代码将输出当前的日期,格式类似于"2022-07-15"。
2. 构造指定日期除了获取当前日期,我们还可以使用LocalDate.of()方法构造一个指定日期的LocalDate对象。
示例代码如下:LocalDate date = LocalDate.of(2022, 7, 15);System.out.println(date);以上代码将输出指定的日期"2022-07-15"。
3. 获取年、月、日信息在LocalDate类中,我们可以使用getYear()、getMonthValue()和getDayOfMonth()等方法分别获取当前日期的年、月和日信息。
示例代码如下:LocalDate currentDate = LocalDate.now();int year = currentDate.getYear();int month = currentDate.getMonthValue();int day = currentDate.getDayOfMonth();System.out.println("Year: " + year);System.out.println("Month: " + month);System.out.println("Day: " + day);以上代码将输出当前日期的年、月和日信息。
Java时间类-Calendar、Date、LocalDateLocalTime
Java时间类-Calendar、Date、LocalDateLocalTime1、Date 类 java.util.Date是⼀个“万能接⼝”,它包含⽇期、时间,还有毫秒数,如果你只想⽤java.util.Date存储⽇期,或者只存储时间,那么,只有你知道哪些部分的数据是有⽤的,哪些部分的数据是不能⽤的。
1.1 Date的构造⽅法 Date 是我们使⽤的最多的⼀个⽇期类,Date提供的构造⽅法在官⽅API中有⼀下⼏种: Date 类提供了多种构造⽅法,但是⽬前有很多⽅法都已经不建议使⽤public Date() {this(System.currentTimeMillis());}public Date(long date) {fastTime = date;}@Deprecatedpublic Date(int year, int month, int date) {this(year, month, date, 0, 0, 0);}@Deprecatedpublic Date(int year, int month, int date, int hrs, int min) {this(year, month, date, hrs, min, 0);}@Deprecatedpublic Date(int year, int month, int date, int hrs, int min, int sec)@Deprecatedpublic Date(String s) {this(parse(s));} ⽬前我们可以通过使⽤:Date date0 = new Date();Date date1 = new Date(time); 这两种⽅法创建对象的不同主要是通过指定的时间戳不同,通过设置Date 中的fastTime 进⾏设置Date 对象的时间。
除了使⽤构造⽅法获取实例,Date 还可以通过Instant来创建⼀个Date 实例:Instant instant = Instant.now();Date date = Date.from(instant); Instant 是Java 8 提供的新特性: 1.2 Date的常⽤⽅法 Date 类中,提供了常⽤的获取:年,⽉,⽇,时,分,秒等⽅法:Date date = new Date();int dates = date.getDate();int year = date.getYear();int month = date.getMonth();int day = date.getDay();int hours = date.getHours();int min = date.getMinutes();int second = date.getSeconds();long time = date.getTime();int times = date.getTimezoneOffset(); 输出结果:dates: 14year: 116month: 11day: 3hours: 15min: 8second: 29time: 1481699309422times: -480 读者可能会发现,这⾥的年份并不是我们想要的,这⾥主要是因为代码⽅法实现:我们可以看到,这⾥的getYear 并不是获取当前年份,⽽是获取到和1900年的差值,这⾥主要是因为JDK⽼版本遗留下来的问题,对于Date 中获取年⽉⽇的⽅法,现在已经不建议使⽤了。
java new date原理
Java中的Date类是用来表示日期和时间的类,它在处理日期和时间相关的操作时非常常用。
在本篇文章中,我们将深入探讨Java中Date类的原理,包括其内部实现机制和常用方法等内容。
希望通过本文的阐述,读者能更加深入地理解Java中Date类的使用和原理。
一、Date类概述1.1 Date类的作用Date类是Java中用来表示日期和时间的类,它可以用来获取当前日期时间、计算日期时间差值、格式化日期时间等操作。
1.2 Date类的产生背景Java语言中最早的时间日期类是Date类,它的设计初衷是为了简化日期和时间的处理,并提供了一系列相关的方法供开发者使用。
1.3 Date类的特点Date类是一个基本的日期时间类,它能表示从1970年1月1日00:00:00开始的毫秒数,可以表示的最大日期是格林威治时间 xxx,11月20日,106年。
二、Date类的内部实现机制2.1 Date类的数据结构在Java中,Date类内部使用一个长整型变量来存储日期时间信息,这个长整型变量代表的是距离格林威治时间的毫秒数。
2.2 Date类的构造函数Date类有多个构造函数,其中最常用的是无参构造函数和接收一个毫秒数的构造函数。
无参构造函数会使用当前系统时间作为Date对象的初始值,而接收一个毫秒数的构造函数则会将该毫秒数转换为对应的日期时间。
2.3 Date类的常用方法Date类提供了一系列常用的方法来进行日期时间的操作,比如获取日期时间、设置日期时间、比较日期时间、格式化日期时间等。
其中,最常用的方法包括getTime()、setTime()pareTo()、before()、after()等。
三、Date类的使用注意事项3.1 时区问题在使用Date类时,需要注意时区的问题。
由于Date类内部存储的是距离格林威治时间的毫秒数,因此在处理日期时间时需要考虑时区的影响,尤其是涉及到跨时区的操作时更要格外注意。
3.2 线程安全性Date类是线程不安全的,因此在多线程环境下使用时需要额外注意线程安全的问题,可以考虑使用ThreadLocal来保证每个线程拥有自己的Date对象实例。
Java日期和时间处理:使用Date和Calendar类进行日期计算
Java日期和时间处理:使用Date和Calendar类进行日期计算引言:在编程中,日期和时间的处理是非常常见的需求。
Java提供了Date和Calendar 两个类来处理日期和时间。
本文将介绍如何使用这两个类进行日期计算,并提供一些实际应用的例子。
一、Date类的基本使用Date类是Java中处理日期和时间的基本类。
它表示自1970年1月1日00:00:00 GMT以来的毫秒数。
我们可以使用Date类来表示一个特定的日期和时间。
1. 创建一个Date对象要创建一个Date对象,可以使用无参数的构造函数,它将返回当前的日期和时间。
```javaDate date = new Date();```2. 获取日期和时间Date类提供了一些方法来获取日期和时间的各个部分,如年、月、日、时、分、秒等。
```javaint year = date.getYear() + 1900; // 获取年份,需要加上1900int month = date.getMonth() + 1; // 获取月份,需要加上1int day = date.getDate(); // 获取日期int hour = date.getHours(); // 获取小时int minute = date.getMinutes(); // 获取分钟int second = date.getSeconds(); // 获取秒钟```3. 格式化日期和时间要将日期和时间格式化为字符串,可以使用SimpleDateFormat类。
```javaSimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String formattedDate = sdf.format(date);```二、Calendar类的基本使用Calendar类是Java中处理日期和时间的另一个重要类。
Java中日期与字符串的处理
Java中日期与字符串的处理Java中日期与字符串的处理Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,下面为大家介绍一下Java中日期与字符串的处理,一起来看看!日期相关的APIjava.util.Date 类,是一个日期类,含年、月、日、时、分、秒信息。
构造方法:public Date(); 空参构造,得到当前系统时间的日期。
public Date(long date); //根据指定的毫秒数来构造一个日期。
java.util.Calendar 类,是一个日历类。
它包含日期的所有信息.方法:public static Calendar getInstance();public int get(int field);public void set(int field, int value);public void setTime(Date date);public Date getTime();还有大量的常量,这些常量就是 field的值.YEAR,MONTH, DATE,DAY_OF_MONTH, DAY_OF_WEEK. ....java.text.SimpleDateFormat类,日期格式器类[上一讲提到过]构造方法:public SimpleDateFormat(String pattern).注:pattern是指格式化日期的字符串。
yyyy 代全4位数字年份MM 代表2位数字月份dd 代表2位数字月日...有关pattern的细节,可以查看API文档。
如,我们可以构造一个SimpleDateFormate对象.SimpleDateFormat sdf = newSimpleDateFormat("yyyy/MM/dd");常用方法:public String format(Date date); //格式化日期.public Date parse(String dateStr); //把字符串转成日期在JAVA中,时间就指至1970年1月1日午夜至现在所经过的毫秒数.它是一个长整型的数。
编程语言中的日期类型详解
编程语言中的日期类型详解日期是编程中常见的数据类型之一,用于表示时间和日期信息。
在不同的编程语言中,日期类型的实现方式和功能可能存在差异。
本文将详细介绍编程语言中日期类型的基本概念、常见操作和一些注意事项。
一、日期类型的基本概念日期类型是一种特殊的数据类型,用于存储和操作日期和时间信息。
它通常由年、月、日、时、分、秒等组成,可以表示从公元纪年开始的任意时间点。
不同的编程语言对日期类型的定义和实现方式可能有所不同,但基本概念是相似的。
二、日期类型的表示方式在编程语言中,日期类型的表示方式可以有多种形式。
常见的表示方式包括字符串、整数和特定的日期对象。
字符串表示方式是最常见的,例如"2022-01-01"表示2022年1月1日。
整数表示方式将日期转换为一个整数值,通常是从某个固定的时间点开始计算的天数或秒数。
特定的日期对象表示方式是一些编程语言提供的特定日期类型,例如Java中的Date类。
三、日期类型的常见操作日期类型通常支持一些常见的操作,例如日期的比较、格式化、加减运算等。
比较操作可以用于判断两个日期的先后顺序,通常使用大于、小于或等于等运算符进行比较。
格式化操作可以将日期类型转换为特定的字符串格式,例如将日期"2022-01-01"格式化为"01/01/2022"。
加减运算可以对日期进行加减操作,例如计算两个日期之间的天数差或在某个日期上增加一定的天数。
四、日期类型的注意事项在使用日期类型时,需要注意一些常见的问题。
首先是时区的处理,不同的地区有不同的时区,日期类型的表示和计算可能受到时区的影响。
其次是日期的格式化和解析,不同的编程语言对日期的格式化和解析方式可能有所不同,需要根据具体的需求进行处理。
此外,日期类型在计算机内部通常以特定的数据结构进行存储,需要注意日期的精度和范围,避免出现溢出或精度丢失的问题。
总结日期类型是编程中常见的数据类型之一,用于表示时间和日期信息。
java计算时间差,日期差小结
xxx协同OA办公自动化系统内部功能需求
调查表
各位同事:
你们好!工作辛苦了!
为了更好的提升公司的管理,公司计划实施OA办公自动化系统,帮助大家更好的规范工作和提高工作效率,请大家支持和配合这次项目,认真填写如下表格,谢谢!
工号:
电话:
xxx集团OA项目小组2012年xx月xx日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat 类今天花了好大一点时间把java的日期类做了一下整理,哈1、Date类(该类现在很少用了)l Date类对象的创建:n 创建一个当前时间//默认是创建一个代表系统当前日期的Date对象Date d = new Date();n 创建一个我们指定的时间的Date对象:下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。
//创建一个代表2009年6月12号的Date对象Date d1 = new Date(2009-1900, 6-1, 12); (注意参数的设置啊!)l 正确获得一个date对象所包含的信息如:Date d2 = new Date(2009-1900, 6-1, 12);//获得年份(注意年份要加上1900,这样才是日期对象d2所代表的年份)int year = d2.getYear() + 1900;//获得月份(注意月份要加1,这样才是日期对象d2所代表的月份)int month = d2.getMonth() + 1;//获得日期int date = d2.getDate();//获得小时int hour = d2.getHours();//获得分钟int minute = d2.getMinutes();//获得秒int second = d2.getSeconds();//获得星期(注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了)int day = d2.getDay();运行结果:年份:2009月份:6日期:12小时:0 //不设置默认是0分钟:0 //不设置默认是0秒:0 //不设置默认是0星期:5 //09-6-12今天就是星期5,又是一个星期天哦2、Calendar类Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些l Calendar类对象的创建Calendar类是一个抽象类,在实际使用时实现特定的子类的对象。
由于Calendar类是抽象类,且Calendar类的构造方法是protected的,所以无法使用Calendar类的构造方法来创建对象,API中提供了getInstance方法用来创建对象。
n 创建一个代表系统当前日期的Calendar对象Calendar c = Calendar.getInstance();//默认是当前日期n 创建一个指定日期的Calendar对象使用Calendar类代表特定的时间,需要首先创建一个Calendar的对象,然后再设定该对象中的年月日参数来完成。
//创建一个代表2009年6月12日的Calendar对象Calendar c1 = Calendar.getInstance();c1.set(2009, 6 - 1, 12);l Calendar类对象字段类型Calendar类中用一下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想Calendar.YEAR——年份Calendar.MONTH——月份Calendar.DATE——日期Calendar.DAY_OF_MONTH——日期,和上面的字段意义完全相同Calendar.HOUR——12小时制的小时Calendar.HOUR_OF_DAY——24小时制的小时Calendar.MINUTE——分钟Calendar.SECOND——秒Calendar.DAY_OF_WEEK——星期几l Calendar类对象信息的设置与获得n Calendar类对象信息的设置u Set设置如:Calendar c1 = Calendar.getInstance();调用:public final void set(int year,int month,int date)c1.set(2009, 6 - 1, 12);//把Calendar对象c1的年月日分别设这为:2009、6、12利用字段类型设置如果只设定某个字段,例如日期的值,则可以使用如下set方法:调用:public void set(int field,int value)//把c1对象代表的日期设置为10号,其它所有的数值会被重新计算c1.set(Calendar.DATE,10);//把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算c1.set(Calendar.YEAR,2008);其他字段属性set的意义以此类推u Add设置Calendar c1 = Calendar.getInstance();//把c1对象的日期加上10,也就是c1所表的日期的10天后的日期,其它所有的数值会被重新计算c1.add(Calendar.DA TE, 10);//把c1对象的日期加上10,也就是c1所表的日期的10天前的日期,其它所有的数值会被重新计算c1.add(Calendar.DA TE, -10);其他字段属性的add的意义以此类推n Calendar类对象信息的获得Calendar c1 = Calendar.getInstance();// 获得年份int year = c1.get(Calendar.YEAR);// 获得月份int month = c1.get(Calendar.MONTH) + 1;// 获得日期int date = c1.get(Calendar.DATE);// 获得小时int hour = c1.get(Calendar.HOUR_OF_DAY);// 获得分钟int minute = c1.get(Calendar.MINUTE);// 获得秒int second = c1.get(Calendar.SECOND);// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)int day = c1.get(Calendar.DAY_OF_WEEK);3、GregorianCalendar类GregorianCalendar 是Calendar 的一个具体子类,提供了世界上大多数国家使用的标准日历系统。
GregorianCalendar类对象的创建GregorianCalendar有自己的构造方法,而其父类Calendar没有公开的构造方法哦。
GregorianCalendar()在具有默认语言环境的默认时区内使用当前时间构造一个默认的GregorianCalendar。
GregorianCalendar(int year, int month, int dayOfMonth)在具有默认语言环境的默认时区内构造一个带有给定日期设置的GregorianCalendar。
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的GregorianCalendar。
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second) 为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的GregorianCalendar。
创建一个代表当前日期的GregorianCalendar对象GregorianCalendar gc = new GregorianCalendar();//创建一个代表2009年6月12日的GregorianCalendar对象(注意参数设置哦,与其父类是一样的哦,月份要减去1)GregorianCalendar gc = new GregorianCalendar(2009,6-1,12);字段属性什么的都是随其父Calendar了,呵另外:GregorianCalendar有下面一个方法:isLeapYear(int year)确定给定的年份是否为闰年4、DateFormat类DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。
日期/时间格式化子类(如SimpleDateFormat)允许进行格式化(也就是日期-> 文本)、分析(文本-> 日期)和标准化。
将日期表示为Date 对象,或者表示为从GMT(格林尼治标准时间)1970 年,1 月1 日00:00:00 这一刻开始的毫秒数。
5、SimpleDateFormat类public class SimpleDateFormat extends DateFormatSimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。
它允许进行格式化(日期-> 文本)、分析(文本-> 日期)和规范化。
所以本类可以实现:String 到Date Date到String的互转,如下:SimpleDateFormat对象最常用的就是一下两招了://注意构造函数中是SimpleDateFormat类解析日期的模式,大小写代表的意义完全不一样哦SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//日期到字符串的转换String today = df.format(new Date());//字符串到日期的转换Date date = df.parse("2009-06-12 02:06:37");System.out.println(df.format(new Date()));6、日期类对象之间的互转l Date类对象与long型时间的互转//将Date类的对象转换为long型时间Date d= new Date();//使用对象的getTime()方法完成long dLong = d.getTime();//将long型时间转换为Date类的对象long time = 1290876532190L;//使用Date的构造方法完成Date d2 = new Date(time);l Calendar对象和long型时间之间的互转// 将Calendar对象转换为相对时间Calendar c = Calendar.getInstance();long t1 = c.getTimeInMillis();// 将相对时间转换为Calendar对象Calendar c1 = Calendar.getInstance();long t = 1252785271098L;c1.setTimeInMillis(t1);l Calendar对象和Date对象之间的互转// 将Calendar对象转换为相对时间Calendar c = Calendar.getInstance();Date d = c.getTime();// 将相对时间转换为Calendar对象Calendar c1 = Calendar.getInstance();Date d1 = new Date();//通过setTime()方法后,日历c1所表示的日期就d1的日期c1.setTime(d1);7、Ok,利用以上各个类的功能,我们可以很简单的实现一些时间计算的功能哦,呵呵,下面看几个方法:l 判断是否是闰年/*** 给定一个年份判断该年份是否为闰年create date:2009-6-10 author:Administrator** @param year* @return*/public static boolean isLeapYear(int year) {GregorianCalendar calendar = new GregorianCalendar();return calendar.isLeapYear(year);}l 获取当前日期的字符串表示形式/*** 利用SimpleDateFormat获取当前日期的字符串表示形式格式:2009-55-05** create date:2009-6-5 author:Administrator** @return*/public static String getCurrentDate() {// 注意SimpleDateFormat("yyyy-MM-dd")的参数间隔符号可以随意设置的,如:// yyyy年MM月dd日返回格式:2009年06月09日// yyyy-MM-dd 返回格式:2009-06-09// SimpleDateFormat dateFormat = new SimpleDateFormat(// "yyyy-MM-dd HH:mm:ss");SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");return dateFormat.format(System.currentTimeMillis());}l 给出任意一个年月日得到该天是星期几/*** 给出任意一个年月日得到该天是星期几create date:2009-6-10 author:Administrator ** @param date* 参数格式2009-6-10* 返回值:0 代表星期日,1代表星期1,2代表星期2,以此类推*/public static int getWeek(String date) {// 注意参数的大小写格式SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");Calendar c = Calendar.getInstance();try {Date d = dateFormat.parse(date);c.setTime(d);} catch (ParseException e) {}return c.get(Calendar.DAY_OF_WEEK)-1;}l 获得今天n天以后或者n天以前是那一天/*** 获得距离今天n天的那一天的日期create date:2009-6-11 author:Administrator ** @param day* @return*/public static String getDistanceDay(int day) {Calendar calen = Calendar.getInstance();calen.add(Calendar.DAY_OF_MONTH, day);Date date = calen.getTime();// 这里也个用SimpleDateFormat的format()进行格式化,然后以字符串形式返回格式化后的dateSimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");return dateFormat.format(date);}l 获得距离指定日期n天的那一天的日期/*** 获得距离指定日期n天的那一天的日期create date:2009-6-11 author:Administrator** @param date* 格式:2009-6-11* @param day* @return*/public static String getDistanceDay(String date, int day) {SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");Date d;Calendar c =Calendar.getInstance();try {d = dateFormat.parse(date);c.setTime(d);c.add(Calendar.DA TE, day);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}return dateFormat.format(c.getTime());}/*** 获得给定两个日期相差度天数* create date:2009-6-23 author:Administrator** @param date1* 参数格式:2009-06-21* @param date2*/public static long getGapDays(String date1, String date2) {String[] d1 = date1.split("-");String[] d2 = date2.split("-");Calendar c = Calendar.getInstance();c.set(Integer.parseInt(d1[0]), Integer.parseInt(d1[1]), Integer.parseInt(d1[2]), 0, 0, 0);long l1 = c.getTimeInMillis();c.set(Integer.parseInt(d2[0]), Integer.parseInt(d2[1]), Integer.parseInt(d2[2]), 0, 0, 0);long l2 = c.getTimeInMillis();return (Math.abs(l1 - l2) / (24 * 60 * 60 * 1000));}本文来自CSDN博客,转载请标明出处:/shibenjie/archive/2009/06/12/4263912.aspx。