Java获取当前时间的时间戳(13位和10位)

 更新时间:2023年07月18日 09:32:16   作者:返回值  
本文主要介绍了Java获取当前时间的时间戳(13位和10位),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

背景:项目中正好用到时间戳,但是自己手写还记不住,索性就记录下来吧,要不然总是百度,😄

13位的时间戳的三种方式

long time1 = System.currentTimeMillis();
//
long time2 = Calendar.getInstance().getTimeInMillis();
//
long time3 = new Date().getTime();

运行完上述代码,显示如下;

time1:  1684398076253
time2:  1684398076253
time3:  1684398076253

10位的时间戳的三种方式

long time1 = System.currentTimeMillis() / 1000;
//
long time2 = Calendar.getInstance().getTimeInMillis() / 1000;
//
long time3 = new Date().getTime() / 1000;

运行完上述代码,显示如下;

time1:  1684398346
time2:  1684398346
time3:  1684398346

java时间戳 10位和13位分别是怎么来的?

最近遇到一个比较头疼的问题。

语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中。

但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13位的,

而ios端只能解析10位的时间戳。

问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的

经过百度得知,原来java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,

而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。

问题2:13位时间戳如何转换成10位时间戳

本来以为java中有设置可以修改其时间精度,后来在百度上没有找到,就只能采用其它方法来转化,这里提供两种方式来转换。

第一种:通过substring方法,将13位的时间戳最后三位数字截取

第二种:将13位时间戳除以1000取整。

ps:个人觉得这两种方法好low,目前没有更好的方法
另外提供一段时间戳转时间的代码:

/**
 * 时间戳转时间(10位时间戳)
 * @param time
 * @return
 */
public static String timestampToDate(long time) {
    String dateTime;
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    long timeLong = Long.valueOf(time);
    dateTime = simpleDateFormat.format(new Date(timeLong * 1000L));
    return dateTime;
}

到此这篇关于Java获取当前时间的时间戳(13位和10位)的文章就介绍到这了,更多相关Java获取当前时间时间戳内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java字符串split方法的坑及解决

    Java字符串split方法的坑及解决

    这篇文章主要介绍了Java字符串split方法的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 解决SpringBoot在后台接收前台传递对象方式的问题

    解决SpringBoot在后台接收前台传递对象方式的问题

    这篇文章主要介绍了解决SpringBoot在后台接收前台传递对象方式的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • SpringBoot使用jasypt加解密密码的实现方法(二)

    SpringBoot使用jasypt加解密密码的实现方法(二)

    这篇文章主要介绍了SpringBoot使用jasypt加解密密码的实现方法(二),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Java多线程实现阻塞队列的示例代码

    Java多线程实现阻塞队列的示例代码

    本文主要介绍了Java多线程实现阻塞队列的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • Java应用层协议WebSocket实现消息推送

    Java应用层协议WebSocket实现消息推送

    后端向前端推送消息就需要长连接,首先想到的就是websocket,下面这篇文章主要给大家介绍了关于java后端+前端使用WebSocket实现消息推送的详细流程,需要的朋友可以参考下
    2023-02-02
  • MyBatis动态SQL表达式详解

    MyBatis动态SQL表达式详解

    动态SQL可以省略很多拼接SQL的步骤,使用类似于JSTL方式,下面这篇文章主要给大家介绍了关于Mybatis动态SQL特性的相关资料,文字通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Mybatis中where标签与if标签结合使用详细说明

    Mybatis中where标签与if标签结合使用详细说明

    mybatis中if和where用于动态sql的条件拼接,在查询语句中如果缺失某个条件,通过if和where标签可以动态的改变查询条件,下面这篇文章主要给大家介绍了关于Mybatis中where标签与if标签结合使用的详细说明,需要的朋友可以参考下
    2023-03-03
  • SpringCloud网关(Zuul)如何给多个微服务之间传递共享参数

    SpringCloud网关(Zuul)如何给多个微服务之间传递共享参数

    这篇文章主要介绍了SpringCloud网关(Zuul)如何给多个微服务之间传递共享参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • CentOS安装solr 4.10.3详细教程

    CentOS安装solr 4.10.3详细教程

    这篇文章主要为大家详细介绍了CentOS安装solr 4.10.3的详细教程 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Java实现接月饼小游戏的示例代码

    Java实现接月饼小游戏的示例代码

    本文将用Java语言自制一个小游戏:《接月饼小游戏》,游戏规则为不要被月亮砸到,尽可能地多接月饼。文中的实现代码讲解清晰,感兴趣的可以动手试一试
    2022-02-02

最新评论