system.currenttimemillis()计算方式与时间的单位转换详解-kb88凯时官网登录

时间:2020-05-14
阅读:
免费资源网,https://freexyz.cn/

一、时间的单位转换

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

免费资源网,https://freexyz.cn/
返回顶部
顶部
网站地图