小白学习Java第十三课时间类

Date类
java.util.Date 类 表示特定的瞬间,精确到毫秒继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。Date类中的多数方法已经过时,常用的方法代码如下:

public class TestDate {
    public static void main(String[] args) {
        Date a=new Date();
        System.out.println(a);//当前电脑时刻
        Date b=new Date(2000);
        System.out.println(b);
        //比较两个时间先后
        System.out.println(b.getTime());
        Date c=new Date();
        System.out.println(c.getTime());
        System.out.println(c.after(b));//c在b的后面?
        Date a1=new Date(2020-1900,4,13);
        System.out.println(a1);//此方法已经被废弃,以后遇到时间处理,使用canlendar日期类
    }
}

在这里插入图片描述
DateFormat类
DateFormat 是日期/时间格式化子类的抽象类,通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
相关的格式规则:
在这里插入图片描述
相关代码及用法:

import java.text.*;
import java.util.Date;

public class Testdateformat {
    public static void main(String[] args) {
        DateFormat a=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");//传格式
        String s=a.format(new Date(20000));
        System.out.println(s);
        //把字符串转成相应的时间对象
        DateFormat a1=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
        try {
            Date d = a1.parse("1983-05-10 12-45-32");
            System.out.println(d);
        } catch (ParseException e) {
            e.printStackTrace();
        }
         //测试其他格式字符
        //利用D,获得本时间对象是所处年份的第几天
        DateFormat a2=new SimpleDateFormat("D");
        Date d1 = null;
        try {
            d1 = a2.parse("1983-05-10 12-45-32");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(d1);
    }
}

在这里插入图片描述
Calendar类
Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
Calendar为抽象类,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象。
相关用法代码:

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

//测试日期类的使用
public class Testc {
    public static void main(String[] args) {
        Calendar c=new GregorianCalendar(2990,10,9,21,11,54);
        int year=c.get(c.YEAR);
        int m=c.get(c.MONTH);
        int day=c.get(c.DATE);
        int w=c.get(Calendar.DAY_OF_WEEK);
        System.out.println(year);
        System.out.println(c);
        System.out.println(m);
        System.out.println(w);
        System.out.println(day);
        //设置日期
        Calendar c1=new GregorianCalendar();
        c1.set(Calendar.YEAR,2020);
        System.out.println(c1);
        //日期计算
        Calendar c2=new GregorianCalendar();
        c2.add(Calendar.DATE,120);
        System.out.println(c2);
        //日期对象和时间对象的转换
        Date d1=c2.getTime();
        Calendar c3=new GregorianCalendar();
        c3.setTime(new Date());
        pc(c3);
    }

    public static void pc(Calendar c){
        //打印:2019年10月10日
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH)+1;
        int date=c.get(Calendar.DAY_OF_MONTH);
        int dayw=c.get(Calendar.DAY_OF_WEEK);
        String dayw1=dayw==0?"日":dayw+"";
        System.out.println(year+"年"+month+"月"+date+"日");
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值