日期的相关方法

**

结合API学习

**

1,long类型的日期计算

long now=System.currentTimeMillis();
//获得日期以毫秒计算,就是获取从现在到1970年的毫秒数
system.out.println("今年是那一年"+now/1000/60/60/24/365+1970);

2,Date型日期

注:所有Date类型都是long类型
Date date=new Date();

3,long类型和Date类型互相转化

long now=System.currentTimeMillis();
		Date date1=new Date(now);
		System.out.println(date1);
输出结果为:Sat Jul 27 11:44:26 CST 2019

4,Calendar日期类型(用来计算时间)

Calendar不能直接实例化,因为他是一个抽象类。使用的方法有两种:
1:通过子类GregorianCalendar实例化.
2:通过抽取他自己的抽象方法

public static void main(String[] args) {
	Calendar cal1=new GregorianCalendar();//通过子类实例化
	Calendar cal2=Calendar.getInstance();//通过抽取他自己的抽象方法
	System.out.println(cal1);
	System.out.println(cal2);
}
}

输出结果为:

java.util.GregorianCalendar[time=1564200353538,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=6,WEEK_OF_YEAR=30,WEEK_OF_MONTH=4,DAY_OF_MONTH=27,DAY_OF_YEAR=208,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=0,HOUR_OF_DAY=12,MINUTE=5,SECOND=53,MILLISECOND=538,ZONE_OFFSET=28800000,DST_OFFSET=0]
java.util.GregorianCalendar[time=1564200353538,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=6,WEEK_OF_YEAR=30,WEEK_OF_MONTH=4,DAY_OF_MONTH=27,DAY_OF_YEAR=208,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=0,HOUR_OF_DAY=12,MINUTE=5,SECOND=53,MILLISECOND=538,ZONE_OFFSET=28800000,DST_OFFSET=0]

运行结果是存在Map中的,需要通过键去获取值。

System.out.println("今年是:"+cal1.get(Calendar.YEAR)+"年"); 
   运行结果为:今年是:2019年

5,Calendar用来计算时间

1,add的使用:用来计算过去时间与未来时间

   public static void main(String[] args) {
	Calendar cal1=new GregorianCalendar();       //通过子类实例化
	Calendar cal2=Calendar.getInstance();          //通过抽取他自己的抽象方法
	
	cal1.add(Calendar.YEAR, 5);	             //通过add方法在现阶段年份上增加5年
	System.out.println("今年是:"+cal2.get(Calendar.YEAR)+"年,"+"五年后是:"+cal1.get(Calendar.YEAR)+"年");
	
	cal1.add(Calendar.DATE, -10);         	//通过add方法在现阶段日期上减少10天
	System.out.println("今天是:"+cal2.get(Calendar.DATE)+"号,"+"十天前是:"+cal1.get(Calendar.DATE)+"号");
     }

输出结果:

今年是:2019年,五年后是:2024年
今天是:28号,十天前是:18号

2,set的使用(将日期设置为某一具体时间)

Calendar cal1=new GregorianCalendar();      //通过子类实例化

cal1.set(Calendar.YEAR, 2012);             //将cal1设置为2012年

System.out.println("我在"+cal1.get(Calendar.YEAR)+"年读的高中");

输出结果:

我在2012年读的高中

6,SimpleDateFormat的使用

1,

 Date date=new Date();
 SimpleDateFormat sdf=new SimpleDateFormat() ; 
 String str1=sdf.format(date);	//格式化日期,将日期转换成String类型
 System.out.println(str1);

输出结果:19-7-28 下午5:54

2,以自己需要的格式输出

	Date date1=new Date(); //定义化日期类型
	//以自己需要的格式输出
	SimpleDateFormat sdf1=new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
	SimpleDateFormat sdf2=new SimpleDateFormat("YYYY/MM/dd");
	String str2=sdf1.format(date1);
	String str3=sdf2.format(date1);
	System.out.println(str2);
	System.out.println(str3);

输出结果为:

2019-07-28 10:01:47
2019/07/28

3,常见的格式
yyyy-MM-dd HH:mm:ss
yy-M-d
yyyy年MM月dd日

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值