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"),可计算出员工的入职整年数。

【Excel】使用DATEDIF函数计算员工工龄

DATEDIF函数是一个隐藏函数,没有函数帮助信息,在公式记忆列表中也不出现。该函数有三个参数,可以这样来理解:

DATEDIF(查询日期,截止日期,统计参数)如上图公式中的"Y"换成"M"返回的结果则是整月数。具体参数可参看下面的表:


【Excel】使用DATEDIF函数计算员工工龄
休息一下继续,看看如何利用DATEDIF函数将工龄统计精确到月份?

【Excel】使用DATEDIF函数计算员工工龄

有了上面的参数列表,我们很容易能够计算出员工的入职整月份,

【Excel】使用DATEDIF函数计算员工工龄


现在的问题是,能不能让结果显示成几年几个月的形式?

提供两种方法,第一种,们考虑对得到的月份数进行处理,用INT函数取整(整月数/12)可得到整年数,MOD(整月数,12)可得到除以12个月后余下的月数。

因此,我们可以这样写公式:

=INT(DATEDIF(B3,C3,"M")/12)&"年"&MOD(DATEDIF(B3,C3,"M"),12)&"个月"


结果如图:

【Excel】使用DATEDIF函数计算员工工龄


刚才的公式是根据DATEDIF计算出的月数,利用1年等于12个月的数学规律,使用INT与MOD拼凑出了上图中的形式,但是,使用&得到的结果是文本型数据,不利于后面的筛选操作。


现在分享第二条公式:


=TEXT(SUM(DATEDIF(B3,C3,{"y","ym"})*10^{2,0}),"0年00月")


【Excel】使用DATEDIF函数计算员工工龄


现在给大家提个问题:如何利用函数公式得到一个日期型的结果呢?


好啦,今天的分享就到这里啦!

如果喜欢这篇文章的话,请点赞、转发哦!




欢迎朋友们分享办公技巧,邮箱:wordjqdr@126.com


想要学习更多Word排版技巧,单击【阅读原文】来参加【Word2016快速入门与提高】课程吧!

以上是关于java里如何根据数据库里的入职时间算出现在的工龄。主要是怎么计算,具体代码怎么写??急。先谢谢了。的主要内容,如果未能解决你的问题,请参考以下文章

求根据入职日期计算工龄的公式,并附带解释。

入职时间计算工龄公式

使用DATEDIF函数计算员工工龄

Excel使用DATEDIF函数计算员工工龄

excel中,知道入职日期和离职日期,怎么求一月在职人数?急求……

有啥方法可以强制在 iOS13 的入职过程中出现“始终允许”提示?