Java 日期处理常见情况

见代码和注释
 1 import  java.text.SimpleDateFormat;
 2 import  java.util.Calendar;
 3 import  java.util.Date;
 4 import  java.util.GregorianCalendar;
 5 public   class  DateTesting  {
 6/** *//**
 7@param args
 8*/

 9public static void main(String[] args) {
10   // TODO Auto-generated method stub
11  
12  
13   //1、如何根据给定的年月日构造日期对象
14   //需要构造2008-3-15
15   //用GregorianCalendar类描述日期时,由于月份是从0开始计数的,所以实际的月份值总是比计数值大1.
16   GregorianCalendar calendar=new GregorianCalendar(2008,2,15);
17   Date tempDate=calendar.getTime();
18   System.out.println(tempDate.toLocaleString());
19  
20   SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
21   System.out.println(sdf.format(tempDate));
22  
23  
24   //2、如何根据给定的日期对象分解年、月、日
25        //获取系统当前时间
26   Date currentDate=new Date();
27   System.out.println(currentDate.getTime());
28   GregorianCalendar ca=new GregorianCalendar();
29   ca.setTime(currentDate);
30   int year=ca.get(Calendar.YEAR);
31   int month=ca.get(Calendar.MONTH)+1;
32   int day=ca.get(Calendar.DAY_OF_MONTH);
33  
34   System.out.println("年份的值: "+year);
35   System.out.println("月份的值: "+month);
36   System.out.println("一个月中某天的值: "+day);
37  
38  
39   //3、给定两个日期: 2008-8-10   2008-8-16 日 ,需要计算这两个日期之间相差的天数
40   //在JAVA语言系统中,所有的时间都是以1970年1月1日,00时00分00秒000毫秒为时间的开始点计算的。
41  
42   GregorianCalendar firstCa=new GregorianCalendar(2008,7,10);
43   Date firstDate=firstCa.getTime();
44  
45  
46   GregorianCalendar secondCa=new GregorianCalendar(2008,7,16);
47   Date seconDate=secondCa.getTime();
48  
49   long distance=seconDate.getTime()-firstDate.getTime();
50   int result=(int)(distance/86400/1000);
51   System.out.println("间隔的天数: "+result);
52  
53  
54   //4、给定一个日期,例如:2008-4-21, 如何计算15天以后的时间日期???
55  
56   GregorianCalendar tpCalendar=new GregorianCalendar(2008,3,20);
57   Date tpDate=tpCalendar.getTime();
58  
59   long tp=tpDate.getTime();
60   tp=tp+8*86400*1000;
61   tpDate.setTime(tp);
62   System.out.println(sdf.format(tpDate));
63  
64}

65}

66
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值