java中Date和Timestamp类型的相互转换方式

 更新时间:2023年07月15日 14:52:04   作者:最小的帆也能远航  
这篇文章主要介绍了java中Date和Timestamp类型的相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java Date和Timestamp类型相互转换

重要的概念

日期类和时间戳类都是用一个时间数值——日期相对于基准日期(1970年1月1日 GMT时间(格林尼治时间)0时0分0秒)的时间间隔(以毫秒为单位)long类型 来构造的

通过Date对象和Timestamp对象的getTime() 方法——获取时间数值,作为中间变量,可以实现转换

import java.sql.Timestamp;
import java.util.Date;
public class Test{
    public static void main(String[] args){
        //Date 转 Timestamp
        Date d = new Date(); //系统时间
        System.out.println(d.toString()); //Wed Dec 14 17:47:51 CST 2022 (CST表示北京时间)
        long time = d.getTime();
        System.out.println(time); //1671011534602,这其实是以毫秒为单位的
        Timestamp timestamp = new Timestamp(time);
        System.out.println(timestamp.toString()); //2022-12-14 17:47:51.531  (构造的时间戳有毫秒)
        //Timestamp 转 Date
        Timestamp timestamp2 = new Timestamp(1671011899628l); //是2022-12-14 17:58:19.628的时间数值
        System.out.println(timestamp2.toString()); //2022-12-14 17:58:19.628
        long time2 = timestamp2.getTime();
        Date date2 = new Date(time2);
        System.out.println(date2.toString()); //Wed Dec 14 17:58:19 CST 2022 (Date类型没有毫秒)
    }
}

Date、Timestamp、String、Calendar之间的关系和转换

最近接到一个需求就是需要查询指定时间范围内的所有用户信息,而且需要拿到范围内的所有年月字符串~

其实这个并不难,但是数据库中的时间类型是Timestamp类型的,而要求传入的时间类型为Date类型,所以就会涉及到时间类型的转换,这里我就把最近接触到的时间类型之间的转换总结下,供大家参考~

1、StringToDate

@Test
    public void testStringToDate() throws ParseException {
        String dateStr = "2021-12-10 11:11:11";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //java.util包下的Date类;
        Date date = sdf.parse(dateStr);
        System.out.println(date.toString());
        //Fri Dec 10 11:11:11 CST 2021
    }

2、DateToString

    @Test
    public void testDateToString(){
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateStr = sdf.format(date);
        System.out.println(dateStr);
//        2021-12-10 10:22:31
    }

3、DateToTimeStamp

@Test
    public void testDateToTimeStamp(){
        Date date = new Date();
        Timestamp timestamp = new Timestamp(date.getTime());
        System.out.println(timestamp);
        //        2021-12-10 10:29:25.978
    }

4、TimestampToDate

    @Test
    public void testTimestampToDate(){
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        Date date = new Date(timestamp.getTime());
        System.out.println(date);
//        Fri Dec 10 10:30:16 CST 2021
    }

5、StringToTimestamp

    @Test
    public void testStringToTimestamp(){
        String dateStr = "2021-12-10 11:11:11";
        Timestamp timestamp = Timestamp.valueOf(dateStr);
        System.out.println(timestamp);
//        2021-12-10 11:11:11.0
    }

6、TimestampToString

    @Test
    public void testTimestampToString(){
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        SimpleDateFormat sdf = new SimpleDateFormat();
        String s = sdf.format(timestamp);
        System.out.println(s);
//        21-12-10 上午10:27
    }

7、DateToCalendar

   @Test
    public void testDateToCalendar(){
        Date date = new Date();
        Calendar instance = Calendar.getInstance();
        instance.setTime(date);
        System.out.println(instance.getTime());
//        Fri Dec 10 10:36:39 CST 2021
    }

8、CalendarToDate

    @Test
    public void testCalendarToDate(){
        Calendar instance = Calendar.getInstance();
        Date time = instance.getTime();
        System.out.println(time);
//        Fri Dec 10 10:56:30 CST 2021
    }

其实时间的类型有好多种,但是其实转换还是比较简单。

为了方便我们处理时间对象,比如:拿日期中的年份月份等信息,我们还有各种时间工具类,还是很方便的啦~

有些时间类的API已经过时了,大家最好用比较新的API,避免不必要的差值!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java天数计算函数(当前月天数、某月总天数及某月剩余天数)4种方法实现代码

    java天数计算函数(当前月天数、某月总天数及某月剩余天数)4种方法实现代码

    日常开发中会遇到关于日期的计算,比如当月的天数、两日期之间的天数、当月剩余天数等等,这篇文章主要给大家介绍了关于java天数计算函数(当前月天数、某月总天数及某月剩余天数)4种方法实现的相关资料,需要的朋友可以参考下
    2023-10-10
  • Java如何实现可折叠Panel方法示例

    Java如何实现可折叠Panel方法示例

    这篇文章主要给大家介绍了关于利用Java如何实现可折叠Panel的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Java使用Apache Tika从PDF文件中提取文本

    Java使用Apache Tika从PDF文件中提取文本

    Apache Tika 是一个内容分析工具包,它能够从各种类型的文档中提取元数据和文本内容,下面我们就来看看如何使用Apache Tika从PDF文件中提取文本吧
    2025-04-04
  • 如何通过SpringBoot实现商城秒杀系统

    如何通过SpringBoot实现商城秒杀系统

    这篇文章主要介绍了如何通过SpringBoot实现商城秒杀系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Java中的this、package、import示例详解

    Java中的this、package、import示例详解

    这篇文章主要介绍了Java中的this、package、import,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Java实现SHA算法的方法详解

    Java实现SHA算法的方法详解

    这篇文章主要介绍了Java实现SHA算法的方法,结合实例形式较为详细的分析了Java实现sha算法的原理、实现与使用相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Java实现文件上传和下载的方法详解

    Java实现文件上传和下载的方法详解

    文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上。文件下载,也称为download,是指将文件从服务器传输到本地计算机的过程。本文将用Java实现文件上传和下载,需要的可以参考一下
    2022-09-09
  • JAVA对象中使用 static 和 String 基础探究

    JAVA对象中使用 static 和 String 基础探究

    这篇文章主要介绍了JAVA对象中使用static和String基础探究,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Java创建类模式_动力节点Java学院整理

    Java创建类模式_动力节点Java学院整理

    这篇文章主要为大家详细介绍了Java创建类模式的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 解决Spring使用@MapperScan问题

    解决Spring使用@MapperScan问题

    这篇文章主要介绍了解决Spring使用@MapperScan问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论