Java常用类 时间处理类

时间处理类

util.date

import java.util.Date;

public class TimeTest {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date.getTime());//返回值为从格林威治时间1970年1月1日0时整到现在的总秒数,1605318658375
        System.out.println(System.currentTimeMillis());//第二种表示方法
        System.out.println("------------");
        System.out.println(date);
    }
}

在这里插入图片描述

util包下得date类可以获取当前系统时间,精确到秒,其中还有重要返回方法getTime,返回值为从格林威治时间1970年1月1日0时整到现在的总秒数,当然返回从格林威治时间1970年1月1日0时整到现在的总秒数还可以用System包下得currentTimeMillis方法。

sql.date

public class TimeTest {
    public static void main(String[] args) {
        java.sql.Date date1 = new java.sql.Date(1605318658375L);//参数为long类型,返回值到具体天数
    }
}

该包下得date类只有有参构造器,参数为从格林威治时间1970年1月1日0时整到现在的总秒数,返回值为当前,精确到天数
在这里插入图片描述

  • valueOf
public class TimeTest {
    public static void main(String[] args) {
        java.sql.Date date1 = new java.sql.Date(1605318658375L);//参数为long类型,返回值到具体天数
        System.out.println(date1);
        System.out.println(date1.valueOf("2020-11-14"));
    }
}

sql.date类下的valueOf可以将字符串转为sql.date类型,其中字符串默认格式为“年-月-日”;
在这里插入图片描述

util.date与sql.date相互转换

  • util.data转sql.date
import java.util.Date;

public class TimeTest {
    public static void main(String[] args) {
        Date date = new Date();
        java.sql.Date date1 = new java.sql.Date(new Date().getTime());//sql.date--->util.date
        System.out.println(date1);
    }
}

在这里插入图片描述

  • sql.date转util.date
    在这里插入图片描述
    可以看到sql.date为util.date子类
import java.util.Date;

public class TimeTest {
    public static void main(String[] args) {
        Date date = new Date();
        java.sql.Date date1 = new java.sql.Date(new Date().getTime());//sql.date--->util.date
        date = date1;//util.date--->sql.date
        System.out.println(date);
    }
}

日期格式类

import java.util.Date;

public class TimeTest {
    public static void main(String[] args) {
        Date date = new Date();
        java.sql.Date date1 = new java.sql.Date(1605318658375L);//sql.date--->util.date
        java.sql.Date date2 = date1.valueOf("2012-12-12");
        java.sql.Date date3 = date1.valueOf("2012/12/12");
        System.out.println(date2);
    }
}

在这里插入图片描述
可以看到我们以“/”分割年月日时,编译器报格式错误异常

当我们需要自定义格式时

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

public class TimeTest {
    public static void main(String[] args) {
        DateFormat df = new SimpleDateFormat("yyyy/MM/dd hh/mm/ss"); //创建DateFormat实现类
        try {
            Date date = df.parse("2012/12/12 11/12/12");//将字符串类型转Date类型
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(df.format(new Date()));
        System.out.println();
    }
}

这里有两个重要的得方法:

  • parse
    将字符串类型转为Date类型,其中输入字符串格式为自定义格式

  • format
    将Date类型转为字符串类型,其中输出得字符串格式为自定义格式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值