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 = Instance();//使⽤默认时区和语⾔环境获得⼀个⽇历。
2. cal.add(Calendar.DAY_OF_MONTH, -1);//取当前⽇期的前⼀天.
3.
4. cal.add(Calendar.DAY_OF_MONTH, +1);//取当前⽇期的后⼀天.
5.
6. //通过格式化输出⽇期
7. SimpleDateFormat format = SimpleDateFormat("yyyy-MM-dd");
8.
9. System.out.println("Today is:"+format.Instance().getTime()));
10.
11. System.out.println("yesterday is:"+format.Time()));
得到2007-12-25⽇期:
Java代码
1. Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0);
2. Date date = Time();
3. System.out.println("2007 Christmas is:"+format.format(date));
java⽉份是从0-11,⽉份设置时要减1.
GregorianCalendar构造⽅法参数依次为:年,⽉-1,⽇,时,分,秒.取⽇期的部分:
Java代码
1. int year =(Calendar.YEAR);
2.
3. int (Calendar.MONTH)+1;
4.
5. int day =(Calendar.DAY_OF_MONTH);
6.
7. int hour =(Calendar.HOUR_OF_DAY);
8.
9. int minute =(Calendar.MINUTE);
10.
11. int seconds =(Calendar.SECOND);
取⽉份要加1.
判断当前⽉份的最⼤天数:
Java代码
1. Calendar cal = Instance();
2. int ActualMaximum(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. SimpleDateFormat format = 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 = Instance();
3. int ActualMaximum(Calendar.DAY_OF_MONTH);
4. Format formatter3=SimpleDateFormat("yyyy-MM-"+maxDay);
5. System.out.println(formatter3.Time()));
求两个⽇期之间相隔的天数:
Java代码
1. SimpleDateFormat format = 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=(Time()-Time())/(24*60*60*1000);
5. System.out.println("相隔的天数="+day);
⼀年前的⽇期:
Java代码
1. Format formatter=SimpleDateFormat("yyyy-MM-dd");
2. java.util.Date todayDate=new java.util.Date();
3. long beforeTime=(Time()/1000)-60*60*24*365;
4. todayDate.setTime(beforeTime*1000);
5. String beforeDate=formatter.format(todayDate);
6. System.out.println(beforeDate);
⼀年后的⽇期:
Java代码
1. Format formatter=SimpleDateFormat("yyyy-MM-dd");
2. java.util.Date todayDate=new java.util.Date();
3. long afterTime=(Time()/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.Instance();
2. Cal.setTime(dateOper);
3. Cal.add(java.util.Calendar.HOUR_OF_DAY,10);
4. System.out.println("date:"+forma.Time()));
求10⼩时前的时间
Java代码
1. java.util.Calendar Cal=java.Instance();
2. Cal.setTime(dateOper);
3. Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);
4. System.out.println("date:"+forma.Time()));
3.java.sql.Date
继承⾃java.util.Date,是操作数据库⽤的⽇期类型
java valueof
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")pareTo(java.sql.Date.valueOf("2007-03-18"))⽅式来⽐较⽇期的⼤⼩.也可使⽤
java.util.Date.after(java.util.Date)来⽐较.
相差时间:
long TimeInMillis()-c1.getTimeInMillis();
相差天数:long day=difference/(3600*24*1000)
相差⼩时:long hour=difference/(3600*1000)
相差分钟:long minute=difference/(60*1000)
相差秒: long second=difference/1000
疯狂软件教育中⼼依托开发团队的强⼤技术实⼒,把企业最新技术融⼊实训课程,打造⾦牌的品质,才能给予学员黄⾦的未来,疯狂软件凭借过硬的技术实⼒与丰富的项⽬开发经验,赢得了社会的肯定。疯狂软件Java培训师资⼒量强⼤,课程内容深⼊,为学员⾼薪就业做了很好的铺垫,拥有丰富就业指导经验的就业团队也成为了学员⾼薪就业的先天优势。地址:⼴州天河区车陂沣宏⼤厦3楼。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论