-
2022-06-19 18:25:40
首先获取当前的时间
Date date = new Date(); System.out.println(date);
输出:
Sun Jun 19 18:25:20 CST 2022
将date转换为Long类型即用到了函数date.getTime
long time = date.getTime(); System.out.println(time);
1655634320515
这个得到的time是自从公元纪年之后的时间差,得到的是毫秒ms级别的
所以你想要加一秒就date.getTime() + 1000;
相加一分钟就date.getTime() + 1000*60;
相加一小时就date.getTime() + 1000*60*60;
想加一天 就date.getTime() + 1000*60*60*24;
以此类推即可
之后我们再new一个date设置我们想要的时间就完事辣
@Test public void testtime(){ Date date = new Date(); System.out.println("写代码的当前时间是"+date); long time = date.getTime(); // System.out.println(time); Date newDate = new Date(); newDate.setTime(time + 1000); System.out.println("加一秒"+ newDate); newDate.setTime(time + 1000*60); System.out.println("加一分"+ newDate); newDate.setTime(time + 1000*60*60); System.out.println("加一时"+ newDate); newDate.setTime(time + 1000*60*60*24); System.out.println("加一天"+ newDate); }
输出:
写代码的当前时间是Sun Jun 19 19:00:08 CST 2022 加一秒Sun Jun 19 19:00:09 CST 2022 加一分Sun Jun 19 19:01:08 CST 2022 加一时Sun Jun 19 20:00:08 CST 2022 加一天Mon Jun 20 19:00:08 CST 2022
更多相关内容 -
ORACLE 将数据按照一天中的24小时进行次数的统计
2019-11-10 01:58:24表中有开始时间(start_time)和结束时间(end_time) , 我要做的是查询一个日期时间段内(例如2019-10-01 00:00:00至2019-10-31 23:59:59) 的数据 然后再按照一天24小时,统计每条数据的开始和结束的时间段在24小时中的...ORACLE 将数据按照一天中的24小时进行次数的统计
#首先我的数据表是这样的
表中有开始时间(start_time)和结束时间(end_time) , 我要做的是查询一个日期时间段内(例如2019-10-01 00:00:00至2019-10-31 23:59:59) 的数据 然后再按照一天24小时,统计每条数据的开始和结束的时间段在24小时中的分布情况,最后已表中的000002为分组字段,生成一条统计数据 ,然后在前端用echers展示,结果如下:
解决方案:
(1).按照日期和控制器编号查询出要处理的数据
(2).由于开始和结束时间 有可能两个都在统计的时间段内,也有可能其中一个在要统计的时间段内,所以要再将"(1)"中的数据的开始和结束时间处理下,截掉不在统计时间段内的时间:`CASE WHEN B.START_TIME < TO_DATE( '2019-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss' ) THEN TO_DATE( '2019-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss' ) ELSE B.START_TIME END`
CASE WHEN B.END_TIME > TO_DATE( '2019-11-01 23:59:59', 'yyyy-mm-dd hh24:mi:ss' ) THEN TO_DATE( '2019-11-01 23:59:59', 'yyyy-mm-dd hh24:mi:ss' ) ELSE B.END_TIME END
(3) 因为我是要按照24小时来统计,所以我这里将时间又处理了下,只取24小时制的小时数,使用:
TO_CHAR(START_TIME,'HH24')
(4) 然后我开始从0-23点挨个统计,使用的方法如下,这是统计数据在0点-1点占用的次数,以此类推
COUNT( CASE WHEN ( A.START_TIME <= 00 AND A.END_TIME >= 00 ) THEN 1 END ) AS count_0,
下面是全部的完整sql 做个记录,你们看看还有没有更好的方法呀
SELECT CONTROL_NUMBER, COUNT( CASE WHEN ( A.START_TIME <= 00 AND A.END_TIME >= 00 ) THEN 1 END ) AS count_0, COUNT( CASE WHEN ( A.START_TIME <= 01 AND A.END_TIME >= 01 ) THEN 1 END ) AS count_1, COUNT( CASE WHEN ( A.START_TIME <= 02 AND A.END_TIME >= 02 ) THEN 1 END ) AS count_2, COUNT( CASE WHEN ( A.START_TIME <= 03 AND A.END_TIME >= 03 ) THEN 1 END ) AS count_3, COUNT( CASE WHEN ( A.START_TIME <= 04 AND A.END_TIME >= 04 ) THEN 1 END ) AS count_4, COUNT( CASE WHEN ( A.START_TIME <= 05 AND A.END_TIME >= 05 ) THEN 1 END ) AS count_5, COUNT( CASE WHEN ( A.START_TIME <= 06 AND A.END_TIME >= 06 ) THEN 1 END ) AS count_6, COUNT( CASE WHEN ( A.START_TIME <= 07 AND A.END_TIME >= 07 ) THEN 1 END ) AS count_7, COUNT( CASE WHEN ( A.START_TIME <= 08 AND A.END_TIME >= 08 ) THEN 1 END ) AS count_8, COUNT( CASE WHEN ( A.START_TIME <= 09 AND A.END_TIME >= 09 ) THEN 1 END ) AS count_9, COUNT( CASE WHEN ( A.START_TIME <= 10 AND A.END_TIME >= 10 ) THEN 1 END ) AS count_10, COUNT( CASE WHEN ( A.START_TIME <= 11 AND A.END_TIME >= 11 ) THEN 1 END ) AS count_11, COUNT( CASE WHEN ( A.START_TIME <= 12 AND A.END_TIME >= 12 ) THEN 1 END ) AS count_12, COUNT( CASE WHEN ( A.START_TIME <= 13 AND A.END_TIME >= 13 ) THEN 1 END ) AS count_13, COUNT( CASE WHEN ( A.START_TIME <= 14 AND A.END_TIME >= 14 ) THEN 1 END ) AS count_14, COUNT( CASE WHEN ( A.START_TIME <= 15 AND A.END_TIME >= 15 ) THEN 1 END ) AS count_15, COUNT( CASE WHEN ( A.START_TIME <= 16 AND A.END_TIME >= 16 ) THEN 1 END ) AS count_16, COUNT( CASE WHEN ( A.START_TIME <= 17 AND A.END_TIME >= 17 ) THEN 1 END ) AS count_17, COUNT( CASE WHEN ( A.START_TIME <= 18 AND A.END_TIME >= 18 ) THEN 1 END ) AS count_18, COUNT( CASE WHEN ( A.START_TIME <= 19 AND A.END_TIME >= 19 ) THEN 1 END ) AS count_19, COUNT( CASE WHEN ( A.START_TIME <= 20 AND A.END_TIME >= 20 ) THEN 1 END ) AS count_20, COUNT( CASE WHEN ( A.START_TIME <= 21 AND A.END_TIME >= 21 ) THEN 1 END ) AS count_21, COUNT( CASE WHEN ( A.START_TIME <= 22 AND A.END_TIME >= 22 ) THEN 1 END ) AS count_22, COUNT( CASE WHEN ( A.START_TIME <= 23 AND A.END_TIME >= 23 ) THEN 1 END ) AS count_23 FROM ( SELECT B.CONTROL_NUMBER, TO_CHAR( CASE WHEN B.START_TIME < TO_DATE( '2019-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss' ) THEN TO_DATE( '2019-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss' ) ELSE B.START_TIME END, 'HH24' ) AS START_TIME, TO_CHAR( CASE WHEN B.END_TIME > TO_DATE( '2019-10-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss' ) THEN TO_DATE( '2019-10-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss' ) ELSE B.END_TIME END, 'HH24' ) AS END_TIME FROM H_CHARGE_STATISTIC B WHERE B.CONTROL_NUMBER = '000002' AND B.START_TIME IS NOT NULL AND B.END_TIME IS NOT NULL AND B.TX_POWER != 0.00 AND B.RX_POWER != 0.00 AND (( B.START_TIME BETWEEN TO_DATE( '2019-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss' ) AND TO_DATE( 2019-10-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss' ) ) OR ( B.END_TIME BETWEEN TO_DATE( '2019-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss' ) AND TO_DATE( '2019-10-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss' ) ) ) ) A GROUP BY CONTROL_NUMBER
-
时分秒针在一天之内重合多少次
2019-07-23 20:56:51这个问题之前听过类似的,一直没有当回事,今天在解题的时候发现了这道题,于是动脑筋想了一下,从12点位置时分秒3个表针重合开始,第一次应该在1点5分之后,那是分针转了一圈快追上时针了,再稍微走一点就能追上,...前言
分析问题之前先给出问题的答案:2次,送给急需要知道答案又不求甚解的朋友。
这个问题之前听过类似的,一直没有当回事,今天在解题的时候发现了这道题,于是动脑筋想了一下,从12点位置时分秒3个表针重合开始,第一次应该在1点5分之后,那是分针转了一圈快追上时针了,再稍微走一点就能追上,然后秒针再转过来就完成了第一次重合,同理在2点10分之后也有一次,在3点15之后还有一次,这样算下来12小时之内有11次,那么一天24小时就有22次。
正在为自己的想法得意时,查了一下参考答案发现我被幼稚的想法打败了,实际上一天24小时内,时分秒针只重合了2次,原因就是我设想从12点开始到1点5分,分针转了一圈快追上时针了,此刻时针与分针确实会有一次相遇,但是此时的秒针却没办法跟他们相逢,因为三个表针是联动的,针对于每个精确到秒的时间,三个针都有固定的位置,不是想重合就能重合的。
在1点5分附近的情况就是,时针和分针快要重合了,然后秒针匆匆赶来,然后时针和分针重合了,秒针还差一点才能到,然后秒针继续走,但是秒针走会继续带动分针和时针运动,然后秒针赶到了分针时针相遇的附近,却发现它俩已经“分手”了,秒针只能大步流星的一个个越过它们俩,期待着下次它们仨能相遇在一处。
时针和分针的相遇
在考虑时分秒三针重合情况之前,我们可以先想一下一天24小时内,分针和时针相遇了多少次,其实这才是我刚才想的那个答案22次,知道了次数之后我们还想知道具体的时间,可不可以算出来呢?当然可以!
接下来我们以一种通俗的方式来解这个问题,那就是列方程式求解,首先将时间作为连续值来看待,我们设时针的角速度是ω,因为时针走1格,分针会走1圈,也就是12格,所以分针的角速度是12ω,分针转了一圈追上时针用的是t,时针和分针转过角度差为1圈,也就是2π,那么此时可以列出方程:
12 ω t − ω t = 2 π 12ωt-ωt=2π 12ωt−ωt=2π
关于角速度ω的值,因为1圈的角度是2π,转一圈需要花的时间是12小时,所以ω=2π/12小时,带入方程得到t=12小时/11,同理如果分针转两圈追上时针,那么方程式为:
12 ω t − ω t = 4 π 12ωt-ωt=4π 12ωt−ωt=4π
可以求得t=24小时/11,由此我们就得到了,时针分针相遇时刻与分针转的圈数i的关系:
t = i ∗ 12 小 时 / 11 t=i*12小时/11 t=i∗12小时/11
代码实现
有了上面的分析,我们可以写代码计算一下一天之中时针和分针相遇具体时刻,因为开着lua编辑器,顺手就用lua写了,代码如下:
function print_meet(id, meet) local h = math.floor(meet) local t = meet - h; local ts = t * 3600; local m = ts // 60; local s = ts - m * 60; print(string.format("%02dth meet, time = %02d:%02d:%05.2f", id, h, m, s)); end for i=1,24 do print_meet(i, i * 12 / 11) end
运行结果
01th meet, time = 01:05:27.27
02th meet, time = 02:10:54.55
03th meet, time = 03:16:21.82
04th meet, time = 04:21:49.09
05th meet, time = 05:27:16.36
06th meet, time = 06:32:43.64
07th meet, time = 07:38:10.91
08th meet, time = 08:43:38.18
09th meet, time = 09:49:05.45
10th meet, time = 10:54:32.73
11th meet, time = 12:00:00.00
12th meet, time = 13:05:27.27
13th meet, time = 14:10:54.55
14th meet, time = 15:16:21.82
15th meet, time = 16:21:49.09
16th meet, time = 17:27:16.36
17th meet, time = 18:32:43.64
18th meet, time = 19:38:10.91
19th meet, time = 20:43:38.18
20th meet, time = 21:49:05.45
21th meet, time = 22:54:32.73
22th meet, time = 24:00:00.00
23th meet, time = 25:05:27.27
24th meet, time = 26:10:54.55分析
从上面的结果来看,处于一天内的时间相遇时刻只有前22次,12点之后第一次相遇是在
01:05:27.27
,此时虽然时针和分针相遇,但是秒针大概在27秒的位置,离他们还很远,同理分针时针第二次相遇时刻02:10:54.55
,秒针也没有跟他们在一起,但是有两次例外,那就是12:00:00.00
和24:00:00.00
,这两次时针、分针、秒针完全重合了,所以我们也得到了本文标题中的答案。总结
- 时分秒针在一天之内重合2次
- 从连续的时间来看,时针和分针在一天之内重合22次
- 有一种现实情况就是表盘上的时间是离散的,不连续的,最小的时间间隔是1秒,此时我们计算的第一次相遇时间
01:05:27.27
是不存在的,01:05:27的时候分针在时针之前,而01:05:28的时候分针在时针之后,它们也错过了,所以时针和分针考虑离散的情况,一天之后也只是重合2次。
-
element中滑块组件Slider展示一天24小时的时间问题
2020-03-26 11:26:52根据需求 比如我这里是需要展示一天24小时,且只能展示半点和整点。可以把时间轴等分成48份,这里max取值上限可以设为48,步长为1 重点是自定义的格式化处理函数 formatTooltip (val) { let hour = 0 let min = 0...效果如下
Slider滑块轴的默认绑定输出值是number 且取值范区间是【0-100】
根据需求 比如我这里是需要展示一天24小时,且只能展示半点和整点。可以把时间轴等分成48份,这里max取值上限可以设为48,步长为1
重点是自定义的格式化处理函数
formatTooltip (val) { let hour = 0 let min = 0 let ms = val * 1800 hour = parseInt(ms / 3600) if (hour < 10) { hour = '0' + hour.toString() } else { hour = hour.toString() } min = ms % 3600 if (min === 0) { min = '00' } else { min = '30' } let time = hour + ':' + min console.log(time) return time }
因为参数val是刻度上的一份,代表半小时时长,化成毫秒计算需乘1800。计算小时整除向下取整,计算分钟整除求余,除尽为整点,除不尽为半点。这里注意不满10小时要在前面补0。
2021/3/23补充
:marks写法
-
oracle将时间加一天,加小时,加分,加秒
2022-03-15 13:38:46加一天 select to_date('2019-08-15 22:03:10','yyyy-mm-dd hh24:mi:ss')+1 next_day from dual; 加一小时 select to_date('2019-08-15 22:03:10','yyyy-mm-dd hh24:mi:ss')+1/24 next_hour from dual; 加一... -
【Java】Date类型获取年月日时分秒的两种方法(12小时制、24小时制)
2019-02-16 14:53:25Java的Date类型是,提供用来描述日期时间的类,它可以存储时间的年月日、时分秒的信息。但是如何从Date的实例中获取这些信息呢? 以前Date提供了一系列的get方法来获取,但是这些方法现在都被弃用了: 既然这些... -
Java 秒换算成,天,小时,分钟,秒
2021-02-23 11:43:27代码很简单如下, int eta = 96701; int day; int hour;... day = eta / (24 * 60 * 60); eta -= day * 24 * 60 * 60; hour = eta / (60 * 60); eta -= hour * 60 * 60; minute = eta / 60; -
js把毫秒数转为天,小时分钟秒,比如10130毫秒转换为xx天xx小时xx分钟
2018-09-29 17:25:12微信小程序开发交流qq群 173683895 ...--------- 转换时间: 0天 23时 10分 24秒 函数返回结果: 23:10:24 实现代码: var my_time = '83424000'; getDuration(my_time); function getDur... -
小时分钟秒的换算(c语言把时间转换成秒)
2021-05-20 10:56:23所以时钟上【1°=6分钟】 而1°=60′,1′=60〃 所以时钟上【1′=0.1分钟=6秒钟】60解析: X秒=(X/60)分钟 X分钟=(X/60)小时1时=60分,1分=60秒52小时19分46秒 求一个能把秒转换成(小时/分钟/秒)的公式。请帮忙发个... -
Java工具类 计算某个时间距离当前时间相差多少天、多少小时、多少分、多少秒
2020-01-07 12:36:16// 只能精确到日 无法具细到年 月 不能确定一个月具体多少天 不能确定一年具体多少天 // 获取日 long day = diff / (1000 * 60 * 60 * 24); diff = diff % (1000 * 60 * 60 * 24); if (day > 0) { sb.append... -
“一天已不足24小时”冲上热搜第一!网友最关心什么?
2021-02-11 14:24:23本文转载自腾讯网,昨晚(2月10日),“地球自转加快一天已不足24小时”登上微博热搜,达到了“沸”的热度。到底是怎么回事? 据央视新闻,研究显示,从2020年年中以来,地球的自转速率呈加快趋势,自转速度已达... -
一小时等于多少毫秒
2021-04-14 04:22:58题目:一小时等于多少毫秒解:毫秒,时间单位,符号ms(英语:millisecond ).1毫秒等于一 千分之一秒1小时=3600秒=3600000毫秒参考思路:1小时=3600秒=21600毫秒举一反三例1:时间1小时等于多少毫秒[数学练习题]思路... -
2021-05-18 C#.NET面试题 在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?...
2021-05-18 23:30:16在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 23次,因为分针要转24圈,时针才能转1圈,而分针和时针重合两次之间的间隔显然>1 小时,它们有23次... -
oracle计算两日期相差多少秒,分钟,小时,天,周,月,年
2020-02-27 14:09:19--计算两个时间差相差多少秒 select ceil((sysdate-t.transdate)* 24 * 60 * 60),t.transdate,sysdate from esc_trans_log t --计算两个时间差相差多少分 select ceil((sysdate-t.transdate)* 24 * 60),t.transdate,... -
输入时(hour)、分(minute)、秒(second)的一个具体时间,要求打印出它的下一秒出来(一天24小时)。...
2019-07-09 20:57:46问题:输入时(hour)、分(minute)、秒(second)的一个具体时间,要求打印出它的下一秒出来(一天24小时)。 例如输入的是23时59分59秒,则输出00:00:00;例如输入17时09分59秒,则输出17:10:00。 import java.... -
如何计算一个摄像机一天占用多少的存储量?
2021-07-29 03:35:10原标题:如何计算一个摄像机一天占用多少的存储量?如何计算硬盘能存多长时间的监控视频,如何计算一个摄像机一天占用多少的存储量?现总结网上资料,做出以下言简意赅的总结:1、IPC码流摄像机的码流即监控视频流的... -
java获取两个时间的时间差(天,小时,分钟,秒)
2020-07-16 16:23:29//startTime 开始时间 //endTime 结束时间 public void differenceTime(String startTime,String endTime){ //时间格式,自己可以随便定义 ... //一天的毫秒数 long nd = 1000*60*60*24; //.. -
24小时时分秒重合的次数
2011-12-12 09:34:11数字钟24小时内时分秒针重合的次数代码 #include #include void main() { for(int h=1;h for(int n=0;n { if(5*h+n { int m=5*h+n; pr -
SQL Server获取当年第一天当年最后一天当月第一天当月最后一天
2020-07-16 23:57:41SQL Server 对日期的操作函数的使用 在编写sql的时候,会碰到对日期的处理,特别是日期区间对业务数据的限制。 如:用户数据的是一个固定月份 2020-03 这个时候需要匹配数据就是2020-03-01 ~ 2020...--当月第一天 selec -
在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来...
2018-09-11 01:01:06在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 答案:只有两次 思路: 假设时针的角速度是ω(ω=π/6每小时),则分针的角速度为12ω,秒针的... -
php时间函数——获取过去24小时内每个小时的节点
2018-06-08 11:10:17date_default_timezone_set("Asia/Shanghai"); $now = time(); $start = strtotime('-1 days');... $i+=3600) //3600秒是按每小时生成一条,如果按天或者月份换算成秒即可 { $date[] = dat... -
毫秒转换为天、小时、分、秒
2020-12-29 03:08:23将毫秒数或两个日期类型数转换为*天*小时*分*秒的方法,在进行时间段计算时应该经常用到。记得有一道ACM题就是从一个计时方法A转换为另一个计时方法B,思路如下:总时间不会变,1s就是1s,只不过小时、分钟、天等... -
java计算两个时间相差(天、小时、分钟、秒
2020-09-03 17:24:36public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格式生成一个simpledateformate对象 ...// 一天的毫秒数 long nh = 1000 * 60 * 60;// 一小时的毫秒数 lon -
hive 时间差(天、小时、分、秒)
2021-12-10 15:04:09今天工作中遇到的问题,需要在hive中计算两个时间相差的小时数。 网上搜集了一下解决函数,发现不完全对。 秉持实践出真理: 若给出两个时间:time1,time2 --计算出时间相差的秒钟 (unix_timestamp(time1)-... -
Android 倒计时(时间戳转换天、小时、分钟、秒)
2022-04-07 17:12:53最近在做类似于商品购买的时间倒计时,在此记录一下,话不多少,请看效果图: 倒计时 = 从后台获取到当前时间的时间戳 - 商品的截止时间(备注:如果当前时间的时间戳获取手机本地的会出问题,因为调整本地时间后就... -
习题3:计算一周有多少分钟,多少秒?
2018-05-09 20:23:09#-*- coding:utf-8 -*-#计算一周有多少分钟,多少秒day = 7per_day_hours = 24per_hour_minutes = 60A_week_time_minutes = day*per_day_hours*per_hour_minutes #计算一周有多少分钟A_week_time_seconds = A_week_... -
js获取0-24小时每隔几分钟的数组
2020-05-08 15:19:52一天24小时数组 24小时数组 一天24平均几分钟间隔开 js将24小时每间隔几分钟变成数组 -
java 将当前日期转换为 24 小时制时间字符串
2017-06-08 15:22:30格式里的时如果用hh表示用12小时制,HH表示用24小时制。MM必须是大写! -- 这样有点晕: 字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y ... -
mysql 获取某个时间段每一天、每一个小时的统计数据
2018-03-05 11:08:29获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:18:36这个时间段内,统计出每一天的...