Date类与DateFormat类

一.Date类

java.util.Date,表示特定的瞬间,精确到毫秒。(1000hs=1s)

eg:  2021-08-30 02:10:34:445 精确到毫秒的瞬间。

可以对时间和日期进行计算。将日期转换为毫秒,计算完毕再将毫秒转换为日期。

日期->毫秒

        当前日期:2021-08-30 02:10:34:

        时间原点:1970-01-01 00:00:00  (英国格林威治时间)(0毫秒)

        计算当前日期到时间原点经过了多少毫秒。

        注意: 中国属于东八区,时间增加8小时。1970-01-01 08:00:00

构造方法

        new Date();

        new Date(long date);  //传入毫秒值,转换为日期

常用方法

        long getTime()   //当前日期转换为毫秒,相当于System.currentTimeMillis()

        String toLocalString(); //根据本地格式转换日期对象

        Date类的toString()方法已被重写

二.DateFormat(抽象类)& 实现类 SimpleDateFormat

java.lang.Object java.text.Format java.text.DateFormat

格式化(日期—文本)  解析(文本—日期)

构造方法  SimpleDateFormat()  //默认格式

                 SimpleDateFormat(String pattern)   // y M d H m s

常用方法 

        format(格式化,继承自DateFormat):public final String format(Date date)  

        parse(解析):public Date parse(String text) throws PaseException

        SimplementDateFormat类的toString()方法没有重写

练习:

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

//计算你已经出生了多少天
class dateTest{
    public static void main(String[] args) {
        System.out.print("请输入您的出生日期,按照yyyy-MM-dd格式:");
        Scanner sc=new Scanner(System.in);
        String next = sc.next();
        countDay(next);


    }
    public static void  countDay(String ss){
        Date date=new Date();
        SimpleDateFormat sdate=new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date birth = sdate.parse(ss);
            long a = date.getTime() - birth.getTime();
            long day=a/1000/60/60/24;
            System.out.println(day);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值