计算工龄原则:若是2000-10-12作为开始工作时间,则到下一年的2001-10-13算为一年。有个bug,不满一年的工龄是错误的。

import java.util.Date;

import java.util.Calendar;

public int workAge(Date nowTime, Date workTime){

int year = 0;

//当前时间的年月日

Calendar cal = Calendar.getInstance();

cal.setTime(nowTime);

int nowYear = cal.get(Calendar.YEAR);

int nowMonth = cal.get(Calendar.MONTH);

int nowDay = cal.get(Calendar.DAY_OF_MONTH);

//开始工作时间的年月日

cal.setTime(workTime);

int workYear = cal.get(Calendar.YEAR);

int workMonth = cal.get(Calendar.MONTH);

int workDay = cal.get(Calendar.DAY_OF_MONTH);

//得到工龄

year = nowYear - workYear; //得到年差

//若目前月数少于开始工作时间的月数,年差-1

if (nowMonth < workMonth){

year = year - 1;

}else if (nowMonth == workMonth){

//当月数相等时,判断日数,若当月的日数小于开始工作时间的日数,年差-1

if (nowDay < workDay){

year = year - 1;

}

}

return year;

}

java计算工龄,java计算工龄相关推荐

  1. java人员的工龄_计算员工工龄,这个问题千万要注意

    原标题:计算员工工龄,这个问题千万要注意 DATEDIF函数用于计算两个日期之间的天数.月数或年数.虽然是隐藏函数,但是名气却不小.在计算员工工龄.计算入职时间.计算人员年龄等等方面有着非常广泛的应用 ...

  2. 计算价格, java中浮点数精度丢失的解决方案

    计算价格, java中浮点数精度丢失的解决方案 转载于:https://www.cnblogs.com/gloryhope/p/9896719.html

  3. java中商业数据计算时用到的类BigDecimal和DecimalFormat

    1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确 ...

  4. java泛型不是计算运行时的数据类型

    2019独角兽企业重金招聘Python工程师标准>>> package com.ada.data.entity;import java.io.Serializable;import ...

  5. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /** * ...

  6. 当Java遇上机密计算,又一段奇幻之旅开始了!

    简介: 汪少军:如何为Java业务提供机密计算保护? 写在前面 在信息世界里,数据存在三种状态: 存储态.传输态和计算态.存储在数据库或磁盘中的数据属于存储状态,在网络中传输的数据属于传输状态,正在被 ...

  7. 日是这一年的等几天Java代码_java中计算指定日期是一年的第几天的方法

    Java输入日期计算是这年的第几天: 思路 通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天: 1.3.5.7.8.10.12 月份 31 天其余月份均为 30 天: 然后 ...

  8. java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  9. oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离

    根据经纬度分别用java和Oracle存储过程计算两点距离 create or replace procedure SP_GET_DISTANCE (cx in number,cy in number ...

  10. [ JAVA编程 ] double类型计算精度丢失问题及解决方法

    [ JAVA编程 ] double类型计算精度丢失问题及解决方法 参考文章: (1)[ JAVA编程 ] double类型计算精度丢失问题及解决方法 (2)https://www.cnblogs.co ...

最新文章

  1. mysql json 中日期_mysql 转换json 时间问题
  2. python变量 数据类型 列表 元组 字典
  3. 安卓开发笔记(二十二):读取本地(内置)html文件并实现和Javascript交互
  4. 不争气的geometry shader
  5. Linux设置串口永久权限
  6. 我敢说,你的登录接口肯定不安全
  7. linux 显存占用内存,Linux服务器内存、CPU、显卡、硬盘使用情况查看
  8. 拓端tecdat:matlab数据可视化交通流量分析天气条件、共享单车时间序列数据
  9. 【机器学习】朴素贝叶斯对文本分类--对人名国别分类
  10. c51单片机渐变流水灯汇编语言,单片机闪烁灯流水灯汇编代码大全
  11. java-assured,如何使用Rest-Assured java中的证书进行HTTPS GET调用
  12. Intel前CEO欧德宁的“功“与”过”
  13. 家庭组网 光猫+交换机利用VLAN划分实现客厅单线复用(下) 将各房间网口接入家庭局域网
  14. 提取mdx字典文件中的数据
  15. H3C路由器静态NAT_路由器多WAN口方式解决访问不同专线接入的服务器
  16. 浅谈如何做一名优秀的WEB前端工程师
  17. 【期末复习】电子商务(南邮考后总结版)
  18. [javaEE]怎样获得已安装的Tomcat的版本呢?
  19. Entropy attack——hash函数的熵攻击
  20. G1还有新生代和老年代么?

热门文章

  1. flutter友盟分享_Flutter中使用友盟统计
  2. Spring-拦截器与过滤器
  3. 修改微信电脑版的字体
  4. 武汉市申请国家现代农业产业科技创新中心发展奖励标准及申请要求
  5. 没有学历的程序员上限很低吗?BATZ面试评分最高的我,因为学历止步大厂......
  6. h5 div自动排列
  7. 解决 vendor.js 过大的问题
  8. 基于android的在线音乐播放器app设计
  9. mysql mac 规则_MAC MYSQL使用问题记录
  10. UCOSIII系统内部任务