Java学习笔记--Date时间类及Calendar日期类

时间的表示是从1970年1月1日为远点,一般以毫秒来计算

import java.util.Date;

public class TestDate {
    /*
    时间的表示是从1970年1月1日为远点,一般以毫秒来计算
     */
    public static void main(String[] args) {
        long a=System.currentTimeMillis();//来获取当前的时刻,以毫秒计

        Date d=new Date();//当前电脑的时刻
        System.out.println(d);
        System.out.println(d.getTime());//获取当前毫秒数

        Date b=new Date(2000);//从1970年1月1日经过2000毫秒后的时刻
        System.out.println(b);//由于时区影响因此得到上午八点

        System.out.println(d.after(b));//d时刻是否在b时刻之后

        //以后遇到日期处理,使用Canlendar类。Date类很多方法都被弃用了
    }
}

Calendar类也是一个抽象类,为我们提供了关于日期计算的相关功能,比如年月日时分秒的展示和计算
GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统
注意:月份的表示,0-一月…11-十二月

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class TestCalendarAndGregorianCalendar {
    /*
    Calendar类也是一个抽象类,为我们提供了关于日期计算的相关功能,比如年月日时分秒的展示和计算
    GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统
    注意:月份的表示,0-一月...11-十二月
     */
    public static void main(String[] args) {
        //获得日期
        Calendar calendar=new GregorianCalendar(2999,10,9,22,10,50);
        System.out.println(calendar);
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH));//0-一月...11-十二月
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//1-周日,2-周一...7-周一
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //设置日期的相关元素
        Calendar calendar2=new GregorianCalendar();//默认执行时间
        System.out.println(calendar2);
        calendar2.set(Calendar.YEAR,2025);
        System.out.println(calendar2);

        //日期的计算
        Calendar calendar3=new GregorianCalendar();
        System.out.println(calendar3.get(Calendar.DAY_OF_YEAR));
        calendar3.add(Calendar.DATE,100);
        System.out.println(calendar3.get(Calendar.DAY_OF_YEAR));
        calendar3.add(Calendar.YEAR,-100);
        System.out.println(calendar3.get(Calendar.YEAR));

        //日期对象和时间对象的转化
        Calendar c=new GregorianCalendar();
        Date d4=c.getTime();
        System.out.println(d4);
        Calendar c1=new GregorianCalendar();
        c1.setTime(new Date());


        printCalendar(c1);

    }

    public static void printCalendar(Calendar a){
        //打印格式:xxxx年xx月xx日  xx时xx分xx秒  周几
        int year=a.get(Calendar.YEAR);
        int month=a.get(Calendar.MONTH)+1;
        int date=a.get(Calendar.DAY_OF_MONTH);
        int hour=a.get(Calendar.HOUR_OF_DAY);
        int minute=a.get(Calendar.MINUTE);
        int second=a.get(Calendar.SECOND);
        int weekday=a.get(Calendar.DAY_OF_WEEK)-1;

        String dayweek=weekday==0?"日":weekday+"";

        System.out.println(year+"年"+month+"月"+date+"日"+" "+hour+"时"+minute+"分"+second+"秒"+" "+"周"+dayweek);


    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值