原则上应该适用Period来计算,因为他是专门为这种需求设计的.当时他只能计算到两个时间差的,年月日 传入参数Period.between(LocalDate,LocalDate) 这里是计算两个LocalDateTime时间差的方法. @Test public void test2() { LocalDateTime fromDateTime = LocalDateTime.of(1984, 12, 16, 7, 45, 55); LocalDateTime toDateTime = Loca…
格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: /** * 获取指定时间到格林威治时间的秒数 * UTC:格林威治时间1970年01月01日00时00分00秒(UTC+8北京时间1970年01月01日08时00分00秒) * @param time * @return */ public static long diffSeconds(String time){ Calendar cale…
上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看.题目很简单: 给定一个日期,然后计算下距离今天相差的天数. 本以为这么个问题就是用来活跃面试氛围的,但是结果却让人大跌眼镜,真正能写出来的人竟然寥寥无几,很多人写了一整张A4纸都写不下,最后还是没写完...他们在做什么? 先取出今天的日期,然后分别计算得出年.月.日的值,然后将给定的字符串进行切割,得到目标的年.月.日,然后再判断是否闰年之类的逻辑,决定每月应该是加28天还是29天还是30或者31天,最后得出一个天数…
分类: SQL Server  select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName(day,GetDate()) as '日',DateName(dw,GetDate()) as '星期',DateName(week,GetDate()) as '周数',DateName(hour,GetDate()) as '时',DateName(minute…
Select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName(day,GetDate()) as '日',DateName(dw,GetDate()) as '星期',DateName(week,GetDate()) as '周数',DateName(hour,GetDate()) as '时',DateName(minute,GetDate()) as '…
oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day | hour | minute | second } | { timezone_hour | timezone_minute } | { timezone_region | timezone_abbr } from { date_value | interval_value } ) 只可以从一个da…
最近工作中碰到个新需求,计算每个员工入职公司的时长,要求形式为多少年多少月多少天形式,某个值为0就跳过不显示,因为前段时间学习过java8新特性,对于这个需求,java8的新时间日期API可以直接解决: 不得不感叹java8的强大,但是很遗憾,项目的服务端使用的jdk仍然是1.7(汗......java10都发布了),所以还是得自己动手来,刚开始使用的是日历API方式,通过加减计算,得出的结果,参考了百度的答案,如下图: , 但是后来测试发现这种方式有很大的问题,计算的值不仅可能为0,还有可能为…
--方法1 select floor((sysdate - to_date('2006-09-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'))) as sDays from dual; --ceil(n) 取大于等于数值n的最小整数; --floor(n)取小于等于数值n的最大整数; select ceil(9.6) from dual; --->10 select floor(9.6) from dual; --->9 --方法2 select ROUND(TO…
使用DATEDIFF(取值,时间字段1,时间字段2) 举例: SELECT DATEDIFF(YEAR,DRYSJ,DCYSJ),* FROM YXHIS2019..TBZYBR2019 --SQL SERVER 取另两个时间字段之间的间隔时间,年 SELECT DATEDIFF(MONTH,DRYSJ,DCYSJ),* FROM YXHIS2019..TBZYBR2019 --SQL SERVER 取另两个时间字段之间的间隔时间,月 SELECT DATEDIFF(DAY,DRYSJ,DCYS…
--年.月.日.时.分.秒 datediff(yy,date1,date2) datediff(m,date1,date2) datediff(d,date1,date2) datediff(hh,date1,date2) datediff(n,date1,date2) datediff(s,date1,date2) datediff(ms,date1,date2) --YEAR('2008-11-2 00:00:00')  --年 --MONTH('2008-11-2 00:00:00')  …