• Java关于时间日期的Date类和Calendar类概述


    1.      System.currentTimeMillis()方法

    可以获取当前时间距离1970年01月01日00时00分00秒的秒数,如果程序运行在北京时区,则获取的数据是当前时间距离1970年01月01日08时00分00秒的秒数.

    例如

    System.out.println(System.currentTimeMillis());

     

    2.      Date类

    利用Date类获取当前日期时间的方法如下

    		//打印当前时间
    		//方法一
    		System.out.println(new Date());
    		//方法二
    		System.out.println(new Date(System.currentTimeMillis()));


    可以利用字符串的split()方法将上述结果分割,获得其中某个项的信息

    		Date date = new Date();
    		String []word = date.toString().split(" ");//转成字符串并且分割
    		for(String w:word)
    			System.out.println(w);


    3.      Calendar类

    ①获取Calendar对象

    利用Calendar的静态方法getInstance()方法获取Calendar对象.

    ②set方法

    setTime(Date date)将日历翻到date所在的时间.

     

    set(int year,int month,int day)将日历翻到yearmonth day对应的年月日.

     

    ③get方法

    get(常量)根据常量为YEAR,MONTH_OF_YEAR等值获取当前Calendar对象对应的年或月等单个信息.

     

    例如

    import java.util.Calendar;
    import java.util.Date;
    import static java.util.Calendar.*;
    
    public class AsMain {
    	public static void main(String args[]){
    		
    		Calendar calendar = Calendar.getInstance();//获取Calendar对象
    		
    		//1.获取单个信息并分别打印
    		calendar.setTime(new Date(1000000000));//设置为当前日期
    		int year = calendar.get(YEAR);//获取[年]
    		int month = calendar.get(MONTH)+1;//注意:月份对应的数字比实际月份少 1
    		int day = calendar.get(DAY_OF_MONTH);
    		int weekday = calendar.get(DAY_OF_WEEK);
    		int hour = calendar.get(HOUR_OF_DAY);
    		int minute = calendar.get(MINUTE);
    		int second = calendar.get(SECOND);//获取[秒0]
    		System.out.println(year+"年"+month+"月"+day+"日"+
    		Weekday(weekday)+hour+"时"+minute+"分"+second+"秒");
    		
    		//2.计算日期1和日期2的间隔天数
    		year = 1987;
    		month = 6;
    		day = 5;
    		calendar.set(year,month,day);//设定日期1
    		long totalsecond_1 = calendar.getTimeInMillis();//获取日期1距离元年的秒数
    		System.out.print(year+"年"+month+"月"+"日与");
    		year = 1987;
    		month = 7;
    		day = 9;
    		calendar.set(year,month,day);//设置日期2
    		long totalsecond_2 = calendar.getTimeInMillis();//获取日期2距离元年的秒数
    		long days = (totalsecond_2 - totalsecond_1) / (24*3600*1000);//计算秒数之差,并换算成天数
    		System.out.println(year+"年"+month+"月"+"日相隔"+days+"天");
    	}
    	
    	public static String Weekday(int weekday){
    		switch(weekday){
    		case 1:return "星期日";
    		case 2:return "星期一";
    		case 3:return "星期二";
    		case 4:return "星期三";
    		case 5:return "星期四";
    		case 6:return "星期五";
    		case 7:return "星期六";
    		default:return "";
    		}
    	}
    }

    运行结果如下

    1970年1月12日星期一21时46分40秒
    1987年6月日与1987年7月日相隔35天

  • 相关阅读:
    20175311 2018-2019-2 《Java程序设计》第7周学习总结
    20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
    20175314 《信息安全系统设计基础》课程总结
    USCOSII
    改进ls的实现
    cat userlist
    实现ls
    stat命令的实现-mysate
    实现mypwd
    2019-2020-1 20175314_20175316 实验五 通讯协议设计
  • 原文地址:https://www.cnblogs.com/tensory/p/6590771.html
Copyright © 2020-2023  润新知