Java常用类04:Date类

💨 Date(日期)类

java.util.Date
java.text.SimpleDateFormat
  • 日期字符串格式& 字母符号
    在这里插入图片描述
    在这里插入图片描述

  • Java中对日期的处理
    1. 获得当前系统日期时间
    2. 日期格式化(格式化Date的toString方法的字符串): date --转换-> String
    3. 给定字符串日期,转换为Date类型: String --转换-> date
    public class DateTest01 {
        public static void main(String[] args) throws Exception{
    
            //获取当前系统时间(精确到毫秒的系统当前时间)
            Date date1 = new Date();
            System.out.println(date1);//Sun Sep 12 15:47:49 CST 2021(sun公司重写的toString方法)
    
            //如上可知,Date类的同toString方法已经被重写,但其转换的格式不易于国人习惯
            //可以将日期格式化
            //将日期类型Date,按照指定的格式进行转换:Date --转换成具有一定格式的日期字符串--> String
            //SimpleDateFormat是java.text包下的,专门负责日期格式化的
            //yyyy 年 MM 月 dd 日 HH小时 mm 分钟 ss秒钟 SSS毫秒
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS");
            String format1 = sdf.format(date1);
            System.out.println(format1);//2021/09/12 16:37:40 229
    
            //将一个日期字符串,转换为Date类型
            String time = "1997/04/02 11:11:11 111";
            //SimpleDateFormat sdf1 = new SimpleDateFormat("格式不能随便写,需与上面日期字符串格式相同,不然会出现ParseException		");
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS");
            Date parse1 = sdf1.parse(time);
            System.out.println(parse1);//Wed Apr 02 11:11:11 CST 1997
            System.out.println(sdf1.format(parse1));//1997/04/02 11:11:11 111
        }
    }
    
  • 统计自1970年1月1日到系统当前时间的总毫秒数的方法

    java中Java.lang.System类中有一个统计自1970年1月1日到系统当前时间的总毫秒数的方法:

    • System.currentTimeMillis

    System类中的其他相关属性和方法:

    • System.out — out是System类的静态变量
    • System.out.println() — println()方法不是System类的,是PrintStream类的方法
    • System.gc() — 建议启动垃圾回收器
    • System.exit(0) — 退出JVM
    public class DateTest02 {
        public static void main(String[] args) {
            //获得自1970年1月1日 00:00:00 000 到当前系统时间的总毫秒数
            long ct = System.currentTimeMillis();
            System.out.println(ct);//1631512637261
    
            //统计一个方法运行时耗费的时间
            long begin = System.currentTimeMillis();
            print();
            long end = System.currentTimeMillis();
            System.out.println("耗费"+(end-begin)+"毫秒");//耗费28毫秒
        }
    
        public static void print() {
            for (int i = 0; i < 1000; i++) {
                System.out.println("i = " + i);
            }
        }
    }
    
  • Date类的构造方法

    Date() — 获取当前系统时间(精确到毫秒的系统当前时间)
    Date(long date) — 获得自"1970年1月1日00:00:00 000"为标准基准时间以后的指定毫秒数

    public class DateTest03 {
        public static void main(String[] args) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
            //Date() --- 获取当前系统时间(精确到毫秒的系统当前时间)
            Date date1 = new Date();
            String format1 = sdf.format(date1);
            System.out.println(format1);//2021-09-16 14:07:05 770
    
            //Date(long date) --- 获得自"1970年1月1日00:00:00 000"为标准基准时间以后的指定毫秒数
            Date date2 = new Date(1);//参数是毫秒数
            String format2 = sdf.format(date2);
            //北京是东八区,差8个小时,所有系统时间是按照"1970年1月1日08:00:00 000"开始计算的
            System.out.println(format2);//1970-01-01 08:00:00 001
    
            //练习:计算昨天此刻的毫秒数
            long l = System.currentTimeMillis();
            System.out.println(l);//1631772942562
            System.out.println(l-1000*60*60*24);//1631686542562
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值