2021.5.16笔记 Date类


毫秒

public class MiliSecond {
    public static void main(String[] args) {
        System.out.println(System.currentTimeMillis()); //获取距离1970.1.1 00:00:00的毫秒数
                                                        // 中国在此时间为08:00:00
    }
}

Date类的构造方法和成员方法

public class DateClass {
    public static void main(String[] args) {
        Date date01 = new Date();        //无参构造,
        System.out.println(date01);       //打印当前中国时间
        Date date02 = new Date(0L);      //有参构造,传入的参数为距离1970.1.1的毫秒数
        System.out.println(date02);     //打印出相距参数毫秒值得中国时间
        long time = date01.getTime();   //获取该时间到1970.1.1所经过的毫秒值,与上面的得到日期相反
        System.out.println(time);       
    }
}

DateFormat类和SimpleDateFormat

java.text.DateFormat是日期/时间格式化子类的抽象类
作用:
格式化(也就是日期=>文本)、解析(文本=>日期)
成员方法:
String format(Date date) 按照指定的模式,把Date日期格式化成为符合模式的字符串
Date parse(String source) 把符合模式的字符串,解析为Date日期
DateFormat是一个抽象类,无法直接创建对象使用,可以用DateFormat的子类
java.text.SimpleDateFormat extends DateFormat
构造方法:
SimpleDateFormat(String pattern) 用给定的模式和默认语言环境的日期格式符号构造 SimpleFormat。
参数:String pattern:传递指定的模式
常用的(区分大小写):

字母表示意思
y
M
d
H
m
s

写对应的模式,会把模式替换为对应的日期和时间
“yyyy-MM-dd HH:mm:ss”
也可以把-还有:换成年月日时分秒(即模式中字母不能改变,连接模式的符号可以改变)


SimpleDateFormat类的format方法和parse方法

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class NewClass{
    public static void main(String[] args) throws ParseException {	//这里也需要抛出异常
        method();
        method01();
    }
    public static void method01() throws ParseException {			//抛出异常
        SimpleDateFormat sim01 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s = "2021-05-10 15:13:57";
        Date parse = sim01.parse(s);
        System.out.println(parse);
    }
    public static void method() {
        SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        String format = sim.format(date);
        System.out.println(date);
        System.out.println(format);
    }
}

其中可以用Alt+Insert抛出异常或者try来防止报错。


练习

使用日期时间相关的API,计算出一个人已经出生了多少天

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Practice {
    public static void main(String[] args) throws ParseException {
        method();
    }
    public static void method() throws ParseException {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入出生日期,格式为yyyy-MM-dd");
        String str = sc.next();
        Date date = new Date();
        long time = date.getTime();
        SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
        Date parse = sim.parse(str);
        long time1 = parse.getTime();
        long time2 = time - time1;
        long num = 24 * 60 * 60 * 1000;
        long day = time2 / num;
        System.out.println("距离你出生日期有" + day + "天。");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值