java里如何根据数据库里的入职时间算出现在的工龄。主要是怎么计算,具体代码怎么写??急。先谢谢了。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里如何根据数据库里的入职时间算出现在的工龄。主要是怎么计算,具体代码怎么写??急。先谢谢了。相关的知识,希望对你有一定的参考价值。
要写活的,求具体代码。。
参考技术A 首先要取得当前时间:Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
数据库出入职时间处理:
Calendar setCal = Calendar.getInstance();
setCal.setTime(d);//d为员工的入职时间
setCal.set(Calendar.HOUR_OF_DAY, 0);
setCal.set(Calendar.MINUTE, 0);
setCal.set(Calendar.SECOND, 0);
setCal.set(Calendar.MILLISECOND, 0);
天数差:
long dayDiff =(setCal.getTimeInMillis()-cal.getTimeInMillis())/(1000*60*60*24);
System.out.println(dayDiff)追问
是我没说清楚,还要算出年月日。不光是天数。怎么算年和月呀?
追答算出来的天数/365,在用余数除以30就是月数,剩下的就是天数了
追问恩,谢谢你了
追答不客气,如果对你有帮助,望采纳
Excel使用DATEDIF函数计算员工工龄
Hi,大家好!今天我们说说计算工龄。
计算员工的工龄是人力资源管理工作中经常要做的一项工作。
如下图,在C5单元格输入公式:=DATEDIF(B3,C3,"Y"),可计算出员工的入职整年数。
DATEDIF函数是一个隐藏函数,没有函数帮助信息,在公式记忆列表中也不出现。该函数有三个参数,可以这样来理解:
DATEDIF(查询日期,截止日期,统计参数)如上图公式中的"Y"换成"M"返回的结果则是整月数。具体参数可参看下面的表:
休息一下继续,看看如何利用DATEDIF函数将工龄统计精确到月份?
有了上面的参数列表,我们很容易能够计算出员工的入职整月份,
现在的问题是,能不能让结果显示成几年几个月的形式?
提供两种方法,第一种,我们考虑对得到的月份数进行处理,用INT函数取整(整月数/12)可得到整年数,MOD(整月数,12)可得到除以12个月后余下的月数。
因此,我们可以这样写公式:
=INT(DATEDIF(B3,C3,"M")/12)&"年"&MOD(DATEDIF(B3,C3,"M"),12)&"个月"
结果如图:
刚才的公式是根据DATEDIF计算出的月数,利用1年等于12个月的数学规律,使用INT与MOD拼凑出了上图中的形式,但是,使用&得到的结果是文本型数据,不利于后面的筛选操作。
现在分享第二条公式:
=TEXT(SUM(DATEDIF(B3,C3,{"y","ym"})*10^{2,0}),"0年00月")
现在给大家提个问题:如何利用函数公式得到一个日期型的结果呢?
好啦,今天的分享就到这里啦!
如果喜欢这篇文章的话,请点赞、转发哦!
欢迎朋友们分享办公技巧,邮箱:wordjqdr@126.com
想要学习更多Word排版技巧,单击【阅读原文】来参加【Word2016快速入门与提高】课程吧!
以上是关于java里如何根据数据库里的入职时间算出现在的工龄。主要是怎么计算,具体代码怎么写??急。先谢谢了。的主要内容,如果未能解决你的问题,请参考以下文章