文档章节

Java获取当前时间、当前零点零分零秒、昨天这一时间

MiniBu
 MiniBu
发布于 2015/12/05 10:27
字数 167
阅读 8423
收藏 7

通过System.currentTimeMillis获取当前时间毫秒数,然后转换为Timestamp格式时间。

代码如下:

public static void main(String[] args) {
		long current=System.currentTimeMillis();//当前时间毫秒数
		long zero=current/(1000*3600*24)*(1000*3600*24)-TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
		long twelve=zero+24*60*60*1000-1;//今天23点59分59秒的毫秒数
		long yesterday=System.currentTimeMillis()-24*60*60*1000;//昨天的这一时间的毫秒数
		System.out.println(new Timestamp(current));//当前时间
		System.out.println(new Timestamp(yesterday));//昨天这一时间点
		System.out.println(new Timestamp(zero));//今天零点零分零秒
		System.out.println(new Timestamp(twelve));//今天23点59分59秒
}

© 著作权归作者所有

MiniBu

MiniBu

粉丝 49
博文 108
码字总数 30099
作品 0
浦东
项目经理
私信 提问
加载中

评论(4)

MiniBu
MiniBu 博主

引用来自“笑傲江湖之无名”的评论


Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
long zero = cal.getTimeInMillis(); // 今天零点零分零秒的毫秒数
替换
long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
就正常了
如果大家表示怀疑可以 把当前系统时间改为上午八点之前就能看到效果了,用原来这个
long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();
最后发现是昨天零点的时间戳 ,
当然如果当前系统时间是上午八点之后则没有问题
之前用这个,发现程序出 bug 了, 所以上来说一下 ,后来人引以为戒 ,切记!!!
很棒!我们程序员们都是一群热爱分享的人,这个世界正是因为我们变得更好~😄
笑傲江湖之无名

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
long zero = cal.getTimeInMillis(); // 今天零点零分零秒的毫秒数
替换
long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
就正常了
如果大家表示怀疑可以 把当前系统时间改为上午八点之前就能看到效果了,用原来这个
long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();
最后发现是昨天零点的时间戳 ,
当然如果当前系统时间是上午八点之后则没有问题
之前用这个,发现程序出 bug 了, 所以上来说一下 ,后来人引以为戒 ,切记!!!
笑傲江湖之无名
Calendar cal = Calendar.getInstance();
      cal.set(Calendar.HOUR_OF_DAY, 0);
      cal.set(Calendar.SECOND, 0);
      cal.set(Calendar.MINUTE, 0);
      cal.set(Calendar.MILLISECOND, 0);
      long zero = cal.getTimeInMillis(); // 今天零点零分零秒的毫秒数
笑傲江湖之无名
北京时间 取 上午八点之前的 和 八点之后的 算的当天零点时间戳是不一样的,刚发现这个问题,大家可以试一下
20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断、循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维...

主内安详
2017/09/18
0
0
20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3date命令用法;20.4

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断、循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维...

主内安详
2018/04/18
0
0
20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断、循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维...

主内安详
2018/04/19
0
0
java产生随机数的几种方式

一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有...

byxiaobai
2017/04/16
2
0
Solr Date类型的哪些你不得不了解的细节

我们先来看看Solr日期类型的一些内幕,然后讨论一下Solr日期类型存在的一些问题,最后我们看看怎么解决现存的问题。 概述 DatePointField TrieDateField TrieDateField实际上就是DatePointFi...

大明搜索
2017/07/09
553
1

没有更多内容

加载失败,请刷新页面

加载更多

ERC-777以太坊新代币标准解读

ERC777是一个新的高级代币标准,可以视为ERC20的升级版本,因此它解决了ERC20以及ERC223存在的一些问题,开发者可以根据自己的具体需求进行选型。 1、使用ERC820进行合约注册 有别于ERC20的自...

汇智网教程
36分钟前
3
0
代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部