酷站(www.ku0.com)-致力于为互联网从业者提供动力!

热门关键词:  企业  as  baidu  c4rp3nt3r  美女
酷站
【阿里云】采购季上云仅¥223/3年

System.currentTimeMillis()计算方式与时间的单位转换

来源:互联网搜集 作者:秩名 人气: 发布时间:2020-05-15
本篇文章主要介绍了System.currentTimeMillis()计算方式与时间的单位转换,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

一、时间的单位转换

1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)
1秒=1,000,000 微秒(μs) 1微秒=1/1,000,000秒(s)
1秒=1,000,000,000 纳秒(ns) 1纳秒=1/1,000,000,000秒(s)
1秒=1,000,000,000,000 皮秒(ps) 1皮秒=1/1,000,000,000,000秒(s)

1分钟=60秒

1小时=60分钟=3600秒

二、System.currentTimeMillis()计算方式

在开发过程中,通常很多人都习惯使用new Date()来获取当前时间。new Date()所做的事情其实就是调用了System.currentTimeMillis()。如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。如果需要在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。

 
//获得系统的时间,单位为毫秒,转换为妙
long totalMilliSeconds = System.currentTimeMillis();
long totalSeconds = totalMilliSeconds / 1000;
 
//求出现在的秒
long currentSecond = totalSeconds % 60;
 
//求出现在的分
long totalMinutes = totalSeconds / 60;
long currentMinute = totalMinutes % 60;
 
//求出现在的小时
long totalHour = totalMinutes / 60;
long currentHour = totalHour % 24;
 
//显示时间
System.out.println("总毫秒为: " + totalMilliSeconds);
System.out.println(currentHour + ":" + currentMinute + ":" + currentSecond + " GMT");
 

小例子:

 
package demo.spli;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class ShowCurrentTime {

  /**
   * @显示当前时间
   * @2014.9.3
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    //获得系统的时间,单位为毫秒,转换为妙
    long totalMilliSeconds = System.currentTimeMillis();
    
    DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//格式化输出
    TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区 这句加上,很关键。
    dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区
    long totalSeconds = totalMilliSeconds / 1000;
    
    //求出现在的秒
    long currentSecond = totalSeconds % 60;
    
    //求出现在的分
    long totalMinutes = totalSeconds / 60;
    long currentMinute = totalMinutes % 60;
    
    //求出现在的小时
    long totalHour = totalMinutes / 60;
    long currentHour = totalHour % 24;
    
    //显示时间
    System.out.println("总毫秒为: " + totalMilliSeconds);
    System.out.println(currentHour + ":" + currentMinute + ":" + currentSecond + " GMT");
    
    
    Date nowTime = new Date(System.currentTimeMillis());
    System.out.println(System.currentTimeMillis());
    SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");
    String retStrFormatNowDate = sdFormatter.format(nowTime);
     
    System.out.println(retStrFormatNowDate);
  }
}
 
 

System.currentTimeMillis()+3600*1000)可以这样解读:System.currentTimeMillis()相当于是毫秒为单位,但是,后头成了1000,就变成了以秒为单位。那么,3600秒=1小时,所以输出为当前时间的1小时后。

我们可以这样控制时间:System.currentTimeMillis()+time*1000),里面传入的time是以秒为单位,当传入60,则输出:当前时间的一分钟后

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://blog.csdn.net/weixin_42447373/article/details/88814221

相关文章

  • 使用用java实现分页查询

    使用用java实现分页查询

    1.基本思路 我现阶段的分页查询的实现是基于sql语句的。 select * from user where id limit a, b 构造出相应的a和b就可以查询出想要的数据,在显示在页面上。重点是要构造出当前的页数,就要封装一个javaBean,存储有关分页的基本属性。......
    06-11
  • Java二维数组查找功能的实现代码

    Java二维数组查找功能的实现代码

    题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题目分析: 根据......
    06-11
  • Java规则引擎Easy Rules的使用

    Java规则引擎Easy Rules的使用

    1. Easy Rules 概述 规则引擎就是提供一种可选的计算模型。与通常的命令式模型(由带有条件和循环的命令依次组成)不同,规则引擎基于生产规则系统。这是一组生产规则,每条规则都有一个条件(condition)和一个动作(action) 简单地说......
    06-11
  • Spring Security实现短信验证码登录功能的教程

    Spring Security实现短信验证码登录功能的教程

    开发短信验证码接口 获取验证码 短信验证码的发送获取逻辑和图片验证码类似,这里直接贴出代码。 ? 1 2 3 4 5 6 7 8 9 10 @GetMapping ( /code/sms ) public void createSmsCode(HttpServletRequest request, HttpServletResponse respon......
    05-20
  • Mybatis版本升级踩坑及背后原理的介绍

    Mybatis版本升级踩坑及背后原理的介绍

    1、背景 某一天的晚上,系统服务正在进行常规需求的上线,因为发布时,提示统一的pom版本需要升级,于是从 1.3.9.6 升级至 1.4.2.1。 当服务开始上线后,开始陆续出现了一些更新系统交互日志方面的报警,属于系统辅助流程,报警下图所示,......
    05-17
  • SpringBoot使用Redis实现分布式锁的方法

    SpringBoot使用Redis实现分布式锁的方法

    前言 在单机应用时代,我们对一个共享的对象进行多线程访问的时候,使用java的synchronized关键字或者ReentrantLock类对操作的对象加锁就可以解决对象的线程安全问题。 分布式应用时代这个方法却行不通了,我们的应用可能被部署到多台机......
    05-16
  • System.currentTimeMillis()计算方式与时间的单位转换

    System.currentTimeMillis()计算方式与时间的单位转换

    一、时间的单位转换 1秒=1000毫秒(ms)1毫秒=1/1,000秒(s) 1秒=1,000,000微秒(s)1微秒=1/1,000,000秒(s) 1秒=1,000,000,000纳秒(ns)1纳秒=1/1,000,000,000秒(s) 1秒=1,000,000,000,000皮秒(ps)1皮秒=1/1,000,000,000,000秒(s) 1分钟=6......
    05-15
  • java中构造器内部调用构造器的介绍

    java中构造器内部调用构造器的介绍

    可能为一个类写了多个构造器,有时可能想在一个构造器里面调用另外一个构造器,为了减少代码的重复,可用this关键字做到这一点。 public class Flower { private String string; private int age; public Flower() { // 先调用public Flo......
    05-10
  • JMETER用户变量作用域测试流程

    JMETER用户变量作用域测试流程

    在编写JMETER 脚本时,我们会使用到变量,变量的作用域是线程。 我们通过下面的脚本验证一下变量的返回是线程。 1. 我们先定义一个amount的流程变量。 2.线程组使用三个线程 3.在线程组中添加一个循环控制器,执行次数为3. 增加一个循环......
    05-09
  • 为什么SpringBoot的jar可以直接运行?

    为什么SpringBoot的jar可以直接运行?

    SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。在pom文件里加入这个插件即可: build plugins plugin groupIdorg.springframework.boot/groupId artifactIdspring-boot-maven-plugin/artifactId ......
    05-09

最新更新