如何计算一个人的工作年限?

netwebs 2006-05-10 10:14:39
比如我是2000-10-20 参加工作,
1\ 如何计算我到现在工作了几年(不满一年不算,应该是5年)
2\ 如何计算我现在工作了几年零几个月(不满一月不算,应该是5年零6个月)

请给个详细的方法,谢谢了
...全文
702 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiwe79 2006-05-10
  • 打赏
  • 举报
回复
compareTo是类可提供的方法
设置日期好像不能用YYYY-MM-DD,你试试吧,你仔细看看java的api类可,里面有详细的说明]
具体算法你自己按照你的要求写吧,就是几个比较和判断的问题
netwebs 2006-05-10
  • 打赏
  • 举报
回复
谢谢您的回答啊,还是要帮帮忙
1\ compareTo 这个哪里来的?
2\ 设置日期能不能用YYYY-MM-DD的形式表示?
liujiwe79 2006-05-10
  • 打赏
  • 举报
回复
import java.util.*;

//import sun.security.action.GetBooleanAction;
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
Calendar calbegin = Calendar.getInstance();
calbegin.set(2000,10,5);//设置开始日期
Calendar calend = Calendar.getInstance();
calend.set(2006,10,5);//设置结束日期
System.out.println(getWorkYear(calbegin, calend));
}
private static String getWorkYear(Calendar begin,Calendar end)
{
String str = "";
if(end.compareTo(begin) < 0)
{
str="结束时间应不小于开始时间!";
}
else
{
if(end.get(Calendar.DAY_OF_YEAR)==begin.get(Calendar.DAY_OF_YEAR))
{
//当不足一年时,只显示有几个月
}
else{
//先处理有几年,然后再处理几个月,一下根据你的要求自行判断后用给str赋值就可以了
}
}
return str;
}
}
liujiwe79 2006-05-10
  • 打赏
  • 举报
回复
import java.util.*;

//import sun.security.action.GetBooleanAction;
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
Calendar calbegin = Calendar.getInstance();
calbegin.set(2000,10,5);//设置开始日期
Calendar calend = Calendar.getInstance();
calend.set(2006,10,5);//设置开始日期
System.out.println(getWorkYear(calbegin, calend));
}
private static String getWorkYear(Calendar begin,Calendar end)
{
String str = "";
if(end.compareTo(begin) < 0)
{
str="结束时间应不小于开始时间!";
}
else
{
if(end.get(Calendar.DAY_OF_YEAR)==begin.get(Calendar.DAY_OF_YEAR))
{
//当不足一年时,只显示有几个月
}
else{
//先处理有几年,然后再处理几个月,一下根据你的要求自行判断后用给stt赋值就可以了
}
}
return str;
}
}
crazycy 2006-05-10
  • 打赏
  • 举报
回复
一看题目 又想错了
genderwang 2006-05-10
  • 打赏
  • 举报
回复
这样的应该不难吧!
得到现在时刻的年和月
/////////////////////////////
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(new java.util.Date(System.currentTimeMillis()));
int nowYear = rightNow.get(Calendar.YEAR);
int nowMonth = rightNow.get(Calendar.MONTH) + 1;
///////////////////////////
解析 形如"2000-10-20 "或"2000/10/20 ",取出该 年和月为整数值
// strDate形如 "2000-10-20 " 格式
String sDate = strDate;
String sep = " ";
StringTokenizer st = null;

st = new StringTokenizer(strDate, sep);
if (st.hasMoreTokens()) {
sDate = st.nextToken();
}
int year = Integer.parseInt(sDate.substring(0, 4));
int month = Integer.parseInt(sDate.substring(5, 7));
netwebs 2006-05-10
  • 打赏
  • 举报
回复
我是jdk1.4.2_11的,是1.4.2的最新版本,难道你的是1.5?
liujiwe79 2006-05-10
  • 打赏
  • 举报
回复
是你的jdk版本比较低的原因,我这里编译没有问题,你可以找个和你类似的方法,用==试试行吗?
netwebs 2006-05-10
  • 打赏
  • 举报
回复
我查了啊,Calendar并没有compareTo的方法,所以程序到了这里就调不通了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧