Java 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分钟=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,则输出:当前时间的一分钟后

到此这篇关于Java System.currentTimeMillis()时间的单位转换与计算方式案例详解的文章就介绍到这了,更多相关Java System.currentTimeMillis()操作内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java System.getProperty()-获取系统参数案例详解

    因为所有在java.io中的类都是将相对路径名解释为起始于用户的当前工作目录,所以应该清楚当前的目录. 可以通过调用System.getProperty("user.dir"); 来获得. /** * java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.vm.specification.version Java 虚拟机规范版本 java.vm.specificati

  • Java System.setProperty()用法详解

    /* * 设置指定键对值的系统属性 * setProperty (String prop, String value); *  * 参数: * prop - 系统属性的名称. * value - 系统属性的值.   *  * 返回: * 系统属性以前的值,如果没有以前的值,则返回 null. *  * 抛出:   * SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允许设置指定属性. * NullPointerException - 如果

  • Java System类用法实战案例

    本文实例讲述了Java System类用法.分享给大家供大家参考,具体如下: 一 使用System类访问系统属性 1 代码 import java.util.Map; public class SystemClassDemo { public static void main(String[] args) { Map<String, String> env = System.getenv(); // 获得系统的环境变量 for (String name : env.keySet()) { Sy

  • 深入了解Java核心类库--BigDecimal和System类

    目录 BigDecimal 类 一. 概述 常用字段 常用构造方法 常用方法 System类 三个成员变量 arraycopy​(Object src, int srcPos, Object dest, int destPos, int length) 总结 BigDecimal 类 一. 概述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算. 开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作. BigDec

  • Java Math类、Random类、System类及BigDecimal类用法示例

    本文实例讲述了Java Math类.Random类.System类及BigDecimal类用法.分享给大家供大家参考,具体如下: Math类 Math的方法 package cn.itcast_01; /* * Math:用于数学运算的类. * 成员变量: * public static final double PI * public static final double E * 成员方法: * public static int abs(int a):绝对值 * public static

  • Java System类两个常用方法代码实例

    1.System.currentTimeMills():得到当前时间距离时间原点的毫秒数,返回值是Long类型的整数. 代码演示: public class Demo4 { public static void main(String[] args) { long l = System.currentTimeMillis(); System.out.println(l); } } 运行结果: 2.System.arrayCopy(src,srcpos,des,despos,length):将原数

  • Java 语言中Object 类和System 类详解

    Object是java所有类的基类,是整个类继承结构的顶端,也是最抽象的一个类.大家天天都在使用toString().equals().hashCode().waite().notify().getClass()等方法,或许都没有意识到是Object的方法,也没有去看Object还有哪些方法以及思考为什么这些方法要放到Object中. 一.Java Object类简介-所有类的超类 Object 是 Java 类库中的一个特殊类,也是所有类的父类.也就是说,J ava 允许把任何类型的对象赋给

  • javaSystem.out.println()输出byte[]、char[]异常的问题详析

    前言 今天 突然有人问我他写的byte[]和char[],在用System.out.println()输出的时候所得的值有问题? 细思恐惧啊 我之前怎么没发现................ 废话不多说 代码如下 /** * @Author: * @Date: 2019/1/9/00099:23 * @Version 1.0 */ public class arrayTest { public static void main(String[] args) { //创建一个byte数组 byte

  • Java 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分钟=60秒 1小时=60分钟=3600秒 二.System.currentTimeMillis()计算方式 在开发过程中,通常很

  • Java Spring-IOC容器与Bean管理之基于注解的方式案例详解

    Spring-IOC容器-Bean管理-基于注解方式 什么是注解? (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3)使用注解目的:简化 xml 配置 Spring 针对 Bean 管理中创建对象提供注解 下面四个注解功能是一样的,都可以用来创建 bean 实例 (1)@Component (2)@Service (3)@Controller (4)@Repository 基于注解方式实现对象创建 ①

  • Java强制保留两位小数的四种方法案例详解

    方法一:String的format方法(推荐) double f = 111231.5585; System.out.println(String.format("%.2f", f)); 方法二:DecimalFormat的format方法 double f = 111231.5585; DecimalFormat df = new DecimalFormat("#.00"); System.out.println(df.format(f)); 以下内容了解即可,可

  • Java图形化界面设计之布局管理器之BorderLayout案例详解

    边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENTER),如下图所示. 特征: l  可以把组件放在这五个位置的任意一个,如果未指定位置,则缺省的位置是CENTER. l  南.北位置控件各占据一行,控件宽度将自动布满整行.东.西和中间位置占据一行;若东.西.南.北位置无控件,则中间控件将自动布满整个屏幕.若东.西.南.北位置中无论哪个位置没有控件

  • Java使用抽象工厂模式实现的肯德基消费案例详解

    本文实例讲述了Java使用抽象工厂模式实现的肯德基消费案例.分享给大家供大家参考,具体如下: 一.模式定义 抽象工厂模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类. 抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品. 二.模式举例 1 模式分析 我们借用爸爸和儿子到肯德基店消费这一场景来说明这一模式,进行抽象分析后的截图如下 2 抽象工厂模式的静态建模 3 代码示例 3

  • 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分钟=60秒 1小时=60分钟=3600秒 二.System.currentTimeMillis()计算方式 在开发过程中,通常很

  • java时区转换的理解及示例详解

    一.时区的基本概念 GMT(Greenwich Mean Time),即格林威治标准时,是东西经零度的地方.人们将地球人为的分为24等份,每一等份为一个时区,每时区横跨经度15度,时间正好为1小时.往西一个时区,则减去一小时:往东一个时区,则加上一小时.中国在东经120度上,(东经120°-东经0°)所得度数再除以15,即得8. UTC(Coordinated Universal Time),即世界协调时间,是经过平均太阳时(以格林威治时间GMT为准).地轴运动修正后的新时标以及以「秒」为单位的

  • Java Stopwatch类,性能与时间计时器案例详解

    在研究性能的时候,完全可以使用Stopwatch计时器计算一项技术的效率.但是有时想知道某想技术的性能的时候,又常常想不起可以运用Stopwatch这个东西,太可悲了. 属性: Elapsed 获取当前实例测量得出的总运行时间. ElapsedMilliseconds  获取当前实例测量得出的总运行时间(以毫秒为单位). ElapsedTicks  获取当前实例测量得出的总运行时间(用计时器计时周期表示). IsRunning   获取一个指示 Stopwatch 计时器是否在运行的值. 方法

  • Java Thread之Sleep()案例详解

    一.API简介 Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常..主要方法如下: [a]sleep(long millis)  线程睡眠 millis 毫秒 [b]sleep(long millis, int nanos)  线程睡眠 millis 毫秒 + nanos 纳秒 Api文档: 二.使用方法 注意:在哪个线程里面调用sleep()方法就阻塞哪个线程.

随机推荐