Date类

1. Date类型的构造方法

(1)Date类型的无参构造方法,得到当前时间点的日期对象。

           Date date = new Date();//导入java.util.Date
			// 生成的日期时间是,执行这行代码时的瞬间
		   System.out.println(date.toString());
		

(2)Date类型的有参构造方法,可以根据传入的毫秒数,生成一个日期对象。

        Date mydate = new Date( 1L*(2020-1970)*365*24*60*60*1000 );
		System.out.println("传入毫秒数得到日期对象:" + mydate);
		System.out.println(mydate.getTime());

2. Date类型中常用的方法

(1)date.getTime()方法,获得日期对象底层封装的毫秒数。

        long fTime = date.getTime();
		System.out.println("日期对象底层的毫秒数是:" + fTime);
		

(2) Sytem.currentTimeMillis()方法,获得计算机元年到当前经历过了多少毫秒数。

        long time = System.currentTimeMillis();
		System.out.println("计算机元年到当前经历过的毫秒数:" + time);


(3)date.setTime(long time)方法,直接修改日期对象中的毫秒值变量。数字后面加小写或者大写的L。

        date.setTime(-100000000000L);
		System.out.println(date);
		//Mon Oct 31 22:13:20 CST 1966

      
(3)Date类型中其他的方法,不要用!Date类型,只适合于时间的保存和读取; 时间的运算等算法,使用Calendar类型。
 

	        Date now = new Date();
			System.out.println("year: " + now.getYear());
			System.out.println("month: " + now.getMonth());
			System.out.println("date: " + now.getDate());
   运行结果:year: 120
            month: 2
            date: 8  
         //120,Date类型在设计时,主要考虑直接使用两位年份
		 //      1998年,只需要保存98两个数字即可:1900 + 98 = 1998
		//		2020年,只需要保存20两个数字:   1900 + 120 = 2020

(4)Long长整形的最大值,最多可用到哪一年

        //long长整数类型用于保存毫秒值,最多可用到哪一年
		long max =Long.MAX_VALUE;
		System.out.println("long的最大值是:"+max);
		//long的最大值是:9223372036854775807
		
		long maxYear=max/1000/60/60/24/365+1970;
		System.out.println("long 可以用到的年份是:"+maxYear);
		//long 可以用到的年份是:292473178

3.printf

 public static void main(String args[]) {
     // 初始化 Date 对象
     Date date = new Date();
 
     //c的使用  
    System.out.printf("全部日期和时间信息:%tc%n",date);          
    //f的使用  
    System.out.printf("年-月-日格式:%tF%n",date);  
    //d的使用  
    System.out.printf("月/日/年格式:%tD%n",date);  
    //r的使用  
    System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);  
    //t的使用  
    System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);  
    //R的使用  
    System.out.printf("HH:MM格式(24时制):%tR",date);  
  }
  
结果为:
		全部日期和时间信息:星期一 九月 10 10:43:36 CST 2012  
		年-月-日格式:2012-09-10  
		月/日/年格式:09/10/12  
		HH:MM:SS PM格式(12时制):10:43:36 上午  
		HH:MM:SS格式(24时制):10:43:36  
		HH:MM格式(24时制):10:43  

4、使用 SimpleDateFormat 格式化日期

(1)解析字符串为整数类型。

       

        int num=Integer.parseInt("432");
		System.out.println(num);
		//432

使用sdf.parse(str), 将一个字符串,解析为一个日期对象。

        String str="1999-3-5 15:45:00";
        String pattern="yyyy-MM-dd HH:mm:ss";
		SimpleDateFormat sdf=new SimpleDateFormat(pattern);
		Date date=sdf.parse(str);
		System.out.println(date);
		
结果为:Fri Mar 05 15:45:00 CST 1999



(2)使用sdf.format(date),将日期对象,格式化输出为字符串

		String str="1999-3-5 15:45:00";
		String pattern ="yyyy年MM月dd日 E ahh时mm分ss秒SSS毫秒  Z时区";
		SimpleDateFormat sdf=new SimpleDateFormat(pattern);
		Date date=new Date();//创建了新的日期对象
		str=sdf.format(date);
		System.out.println(str);
		
结果为:2020年03月08日 星期日 下午10时32分15秒085毫秒  +0800时区
     *【结果的时间为程序运行时的时间】

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值