Java Date Time 教程-System.currentTimeMillis()
原文链接 作者:Jakob Jenkov 译者:魏嘉鹏
静态方法System.currentTimeMillis() 返回从1970年1月1日到现在的总毫秒数。返回类型为long。下面是一个例子:
long timeNow = System.currentTimeMillis();
实际上要做的就只有这么多了。返回long类型的值可以用于初始化java.util.Date,java.sql.Date、java.sql.Timestamp和java.util.GregorianCalendar对象。
时间粒度
System.currentTimeMillis() 方法的粒度大于1毫秒。如果你重复地调用该方法,在一段时间内你会看到你获取到的都是相同的值,然后突然一下子跳了10/20/30毫秒甚至更多。该方法不是全世界最准确的或者细粒度的计时器。
(译者注:关于时间戳为什么是自1970年1月1日开始的?摘录知乎的两个回答如下(原文地址):
仲晨:因为Unix就是那个时代产生的。Unix是1969年发布的雏形,最早是基于硬件60Hz的时间计数。1971年底出版的《Unix Programmer’s Manual》里定义的Unix Time是以1971年1月1日00:00:00作为起始时间,每秒增长60。之后考虑到32位整数的范围,如果每秒60个数字,则两年半就会循环一轮了。于是改成了以秒为计数单位。这个循环周期有136年之长,就不在乎起始时间是1970还是1971年了,于是就改成了人工记忆、计算比较方便的1970年了。
许铖:我来补充问题的后半截。因为unix时间戳是一个有符号整数,所以1970年前一百年可以用其负数部分表示。但事实上很少这要使用。因为unix时间戳主要用来表示当前时间或者和电脑有关的日志时间(如文件创立时间,log发生时间等)。考虑到所有电脑文件不可能在1970年前创立,所以用unix时间戳很少用来表示1970前的时间。当需要表示以前的时间,一般就是自己定义数据结构。比如你可以用几个数分别表示年月日,或者像excel中用1900年1月1日后的天数表示时间。)
(全文完)
Java Date Time 教程-System.currentTimeMillis()相关推荐
- Java Date Time 教程
原文链接 作者:Jakob Jenkov 译者:魏嘉鹏 目录 Java 8 Date Time API Java 7 Date Time API 当你初次尝试弄明白怎么去使用Java的date ti ...
- Java Date Time 教程-java.sql.Date
Java的java.sql.Date类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期或者从java.sql.ResultSet获取日期,你将会和 ...
- Java Date Time 教程-时间测量
为什么80%的码农都做不了架构师?>>> 在Java中,用System.currentTimeMillis()来测量时间最方便. 你要做的是在某些操作之前获取到时间,然后在这些 ...
- Java Date Time 教程-java.sql.Timestamp
Java的java.sql.Timestamp类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期+时间或者从java.sql.ResultSet获 ...
- Java中获取时间System.currentTimeMillis()与System.nanoTime()区别
(1)System.nanoTime()的精确度更高一些,如今的硬件设备性能越来越好,如果要更精密计算执行某行代码或者某块代码所消耗的时间,该方法会测量得更精确.开发者可以根据需要的精确度来选择用哪一 ...
- Java使用System.currentTimeMillis()方法计算程序运行时间
Java 中提供的 System.currentTimeMillis() 方法用于获取当前的计算机时间,时间的表达格式为当前计算机时间和 GMT 时间(格林威治时间)1970年1月1号0时0分0秒所差 ...
- 疑惑,System.currentTimeMillis真有性能问题?
点击关注公众号,Java干货及时送达 System.currentTimeMillis的性能真有如此不堪吗? 最近我在研究一款中间件的源代码时,发现它获取当前时间不是通过System.currentT ...
- System.currentTimeMillis()的慎用
转自:http://blog.sina.com.cn/s/blog_6b8bd9d80101fe8t.html 在对新写的超快xml解析器和xpath引擎进行效率测试时,为获取执行时间,开始也没多想就 ...
- 使用System.currentTimeMillis实现定时任务
实际上使用Java自带的System.currentTimeMillis就能实现定时任务 废话少说,直接上代码 每隔几秒钟执行一次 System.out.println("start at: ...
最新文章
- android SwipeRefreshLayout 增加上拉加载更多
- 2019-4-23 plan
- Android 5.0及以上实现屏幕截图
- 正则表达式 php 模板,PHP中正则表达式回顾(4)--编写一个非常简单而且山寨的smarty模板引擎...
- springmvc整合swagger 与 常用注解说明
- uva 10673 ——Play with Floor and Ceil
- 个人发卡源码仿企业版
- matlab 鼠标自定义选中图像的任意区域
- Django报错NameError: name ‘ListView‘ is not defined
- python登录验证码生成及自动化测试规避
- 这些神奇的 QQ 你还记得几个?
- QT QAudioOutput+QIODevice 音频流实时播放
- 【Excel】数据处理与查看
- PICkit4 烧写、仿真时获取ID失败 Reception on endpoint 129 failed
- html5:初学h标签的使用 p标签 br标签 hr标签
- 【大数据技术】实验3:熟悉常用的Hive操作
- 2019.1.30《C Primer Plus》拖了一天写完的第八章编程练习答案
- SparkSQL的入门实践教程
- Studio One5编曲和音频后期制作音乐编辑软件更新及新增功能介绍
- 让笔记本触摸板默认关闭
热门文章
- linux 编写java代码
- java 不刷新页面_java – 更新jsp页面的内容而不刷新
- python pil怎么调用_python3如何使用pil
- linux新建java文件夹删除不了怎么办_Linux无法删除文件夹 Device or resource busy
- c语言字符数组赋值_C语言关于结构体字符成员元素赋值的方法
- python交互界面实例_Python面向对象编程扑克牌发牌程序,另含大量Python代码!
- ggplot2作图详解:图层语法和图形组合
- 2022 年考研数据结构_6 图
- 【equals与==比较】String的两种拼接
- linux qt自带例子无法,在Qt Creator中,错过了一些例子