【Java学习】时间戳与Date的相互转化

本文介绍了时间戳的概念及其在电子商务和金融活动中的应用,并详细讲解了如何在Java中进行时间戳与Date对象的相互转化,包括格式化Date、给时间加上指定时长、获取指定时间节点的日期时间以及判断两个时间是否为同一天的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。 在实际应用上, 它可以使用在包括电子商务、 金融活动的各个方面, 尤其可以用来支撑公开密钥基础设施的 “不可否认” 服务。

1.时间戳转date

 /**
         * 时间戳转date
         */
        //(10位数),以秒为单位进行转化
        long time1 = 1527767665;
        String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time1*1000);
        System.out.println("10位数的时间戳(秒)-----》Date:"+result1);
        Date date1 = new Date(time1*1000);
        System.out.println(date1);
        //(13位数),以毫秒为单位进行转化
        double time2 = 1515730332000d;
        String result2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time2);
        System.out.println("13位数的时间戳(毫秒)--->Date:"+result2);
        System.out.println("---------------------------------------------");

2.date转时间戳

/**
         * date转时间戳
         */
        //获取指定时间的时间戳,除以1000说明得到的时间戳是秒级别的(10位)
        long time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse("2019-10-28 20:02:50",new ParsePosition(0)).getTime()/1000;

        //获取时间戳
        long now1 = System.currentTimeMillis();
        long now2 = new Date().getTime();

        System.out.println("获取指定时间的时间戳"+time);
        System.out.println("当前时间戳:"+now1);
        System.out.println("当前时间戳:"+now2);
        System.out.println("---------------------------------------------");

3.格式化Date(使用两种方式进行转化)

  • 方式一:使用common-lang包下面的DateFormatUtils类

首先你得使用maven导入依赖,或者下载jar包,但是下载jar包麻烦一点,推荐创建项目使用pom文件导入。

 <dependency>

      <groupId>org.apache.commons</groupId>

      <artifactId>commons-lang3</artifactId>

      <version>3.6</version>

    </dependency>

然后就可以使用里面的DateFormatUtils类,如下

 /**
         *格式化Date
         */
        //使用common-lang包下面的DateFormatUtils类
        //必须导包才可以使用
        String format1 = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
        String format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        System.out.println("格式化时间1:"+format1);
        System.out.println("格式化时间2:"+format2);
        System.out.println("---------------------------------------------");

上面所示的还有常规的方法提供给大家进行参考

4,给时间加上指定时长,这里面也需要导入依赖,跟上面的依赖一样,这个用处很多的

 5,得到指定时间节点的日期时间

 6,判断两个时间点是不是同一天

 在这里我用了上面的时间,所以返回值是false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值