java-Java计算现在时刻距离今天0时的时间差

问题描述

Java计算现在时刻距离今天0时的时间差

在Java中获取一个当前时间毫秒值,比如现在1416725832762-->2014-11-23 14:57:12,实际时间距离北京时间今天0点已经过去将近15个小时,如果直接将这个数对86400000(24个小时的毫秒值)取余,得到的余数换算出来大概只有7个小时,我知道原因是这个时间是标准时间,正好于北京时间有8个小时的时差。
这个问题要如何解决呢?我现在用的方法是直接加上8个小时对应的毫秒值再取余,不知道有没有更好的方法呢?

解决方案

时间是以格林威治时间(GMT)为基准的

解决方案二:

一般取余,是针对10、100、1000这样1开头后面n个零的十进制数说的(当然,也可以对8进制、16进制等取余),你这个86400000取余就感觉不伦不类了。。你可以如下操作:
DateFormat df = new SimpleDateFormat("yyy-MM-dd");
Date d = df.parse("2014-11-23");
long now = System.currentTimeMillis();
long time = now-d.getTime();//当前时间离当天0点的毫秒数
或者说我没理解你的意思?

解决方案三:

Duration.between(LocalDateTime.of(LocalDate.now(), LocalTime.MIN), LocalDateTime.now()).toHours() + 1
JDK 8以后支持

时间: 2024-11-03 07:46:28

java-Java计算现在时刻距离今天0时的时间差的相关文章

java实现计算地理坐标之间的距离_java

java实现计算两经纬度点之间的距离,直接上代码,具体解释请参考注释 复制代码 代码如下: package com.jttx.poi.utils; import com.jttx.poi.entity.Point; /**  * Created by louis on 2014/9/2.  */ public class GeoUtils {     /**      * 计算两经纬度点之间的距离(单位:米)      * @param lng1  经度      * @param lat1 

java 经纬度计算 距离-java 经纬度计算距离 经纬和距离切换

问题描述 java 经纬度计算距离 经纬和距离切换 怎么根据一个点的经纬度查询 以这个点为中心距离为200米以内的在业务系统中做过表示的建筑. 比如 经纬度分别为:113.2759952545166 23.117055306224895,怎么能投计算以这个为中心点的做过标记的200以内的距离的经纬度呢? 在网上查了资料都是计算两个经纬度点的之间的距离,没有这个方圆多少米以内的经纬度算法,曾经也没有接触过,希望做过的朋友给个详细的说明或者给个提示.

java 新手问题 为什么c里总是0

问题描述 java 新手问题 为什么c里总是0 package com.cyx.ex; import java.util.Scanner; public class Appea { /** * @param args */ public static void main(String[] args) { System.out.println("请输入一个16位长整形数:"); Scanner a = new Scanner(System.in); int i = 0; double d

关于java一个计算和图像打印的像素强度值的直方图的问题

问题描述 关于java一个计算和图像打印的像素强度值的直方图的问题 问题在这个网址上,希望大家能帮我解答一下,不胜感激!http://www.cs.unc.edu/~kmp/comp401sp16/assignments/a2/sp16-a2.html 解决方案 建议你自己将问题翻译为中文,否则后果可想而知.

图片-老师上课说了java逻辑和c不同,c是非0就为真,而java不是的,给了个代码,我怎么做不出来

问题描述 老师上课说了java逻辑和c不同,c是非0就为真,而java不是的,给了个代码,我怎么做不出来 解决方案 你老师这句话的意思是在C中,你可以int a=1;if(a){}这种写法,就是直接整型能做条件判断.而在java中,这种写法不行,必须是boolean类型才可以.其他都不能单独作为条件 解决方案二: 你要做出什么?这么写不能编译 你得写 if ((Boolean)b) 解决方案三: 数据类型要是bolean 解决方案四: if里面需要的是一个Boolean类型 解决方案五: 在C中

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 处理方法

今天部署项目过程中tomcat报如下异常: [html] view plaincopyprint? java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind        at java.net.PlainSocketImpl.socketBind(Native Method)        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)

Java中计算时间差的方法_java

本文实例讲述了Java中计算时间差的方法.分享给大家供大家参考.具体如下: 假设现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d1 = df.parse("2004-03-26 13:31:40"); Date

开源科学计算软件 Scilab 5.5.0 重磅来袭

开源科学计算软件 Scilab 5.5.0 已于2014年4月11日发布.Scilab 忠实粉丝应该知道,自从 Scilab 5.4.0 以来,这款强大的开源数值计算软件在用户界面上有重大改进,此版本延续了先前的风格,继续向便捷操作进军. 5.5.0 主要有以下新功能: 新的GUI创建扩展函数,为用户提供绝佳的UI渲染能力: 新的图形显示效果,为用户提供最优的交互能力: MPI (The Message Passing Interface) 功能: 与 JAVA 等外部对象进行直接交互: 以及更

使用JAVA IP地址转成长整型方法时出现错误

java.lang.NumberFormatException: For input string: "0" 在使用JAVA IP地址转成长整型方法时出现此错误 这里对场景进行记录,以备日后遇到类似的错误,参考如何解决 错误输出: 错误原因:怀疑此处为"\0"字符 解决方法: 作者:csdn博客 微wx笑 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Java/