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中Consumer接口的使用教程详解

    java中Consumer接口的使用教程详解

    Java 8 引入了 java.util.function 包,其中包含了一些常用的函数式接口,Consumer 接口是其中一个函数式接口,用于表示接受一个输入参数并执行某种操作的操作者,下面我们就来学习一下他的具体使用吧
    2023-12-12
  • Springboot为什么加载不上application.yml的配置文件

    Springboot为什么加载不上application.yml的配置文件

    这篇文章主要介绍了Springboot为什么加载不上application.yml的配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • SpringBoot集成缓存功能详解

    SpringBoot集成缓存功能详解

    Java Caching定义了五个核心接口,分别是:CachingProvider、CacheManager、Cache、Entry和Expiry,这篇文章主要介绍了SpringBoot集成缓存功能详细过程,需要的朋友可以参考下
    2024-06-06
  • Maven依赖管理的用法介绍

    Maven依赖管理的用法介绍

    依赖管理是项目管理中非常重要的一环。几乎任何项目开发的时候需要都需要使用到库。而这些库很可能又依赖别的库,这样整个项目的依赖形成了一个树状结构,而随着这个依赖的树的延伸和扩大,一系列问题就会随之产生
    2022-08-08
  • Springboot整合Redis的详细教程分享

    Springboot整合Redis的详细教程分享

    这篇文章主要为大家详细介绍了如何利用SpringBoot整合Redis,文中的示例代码讲解详细,具有很好的参考价值,希望对大家有所帮助
    2022-08-08
  • SpringBoot 项目打成 jar后加载外部配置文件的操作方法

    SpringBoot 项目打成 jar后加载外部配置文件的操作方法

    这篇文章主要介绍了SpringBoot 项目打成 jar后加载外部配置文件的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • fastjson序列化时间自定义格式示例详解

    fastjson序列化时间自定义格式示例详解

    这篇文章主要为大家介绍了fastjson序列化时间自定义格式示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 在springboot中使用拦截器的步骤详解

    在springboot中使用拦截器的步骤详解

    拦截器Interceptor,是SpringMVC中的核心内容,在SpringBoot中使用Interceptor,同时采用全注解开发,这篇文章主要介绍了在springboot中使用拦截器的步骤,需要的朋友可以参考下
    2022-01-01
  • Java中抽象类和接口介绍

    Java中抽象类和接口介绍

    大家好,本篇文章主要讲的是Java中抽象类和接口介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • 使用SpringBoot获取resources文件路径

    使用SpringBoot获取resources文件路径

    这篇文章主要介绍了使用SpringBoot获取resources文件路径,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论