如何计算一个人的工作年限? 比如我是2000-10-20 参加工作,1\ 如何计算我到现在工作了几年(不满一年不算,应该是5年)2\ 如何计算我现在工作了几年零几个月(不满一月不算,应该是5年零6个月)请给个详细的方法,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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; }} 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; }} 谢谢您的回答啊,还是要帮帮忙1\ compareTo 这个哪里来的?2\ 设置日期能不能用YYYY-MM-DD的形式表示? compareTo是类可提供的方法设置日期好像不能用YYYY-MM-DD,你试试吧,你仔细看看java的api类可,里面有详细的说明]具体算法你自己按照你的要求写吧,就是几个比较和判断的问题 我查了啊,Calendar并没有compareTo的方法,所以程序到了这里就调不通了 是你的jdk版本比较低的原因,我这里编译没有问题,你可以找个和你类似的方法,用==试试行吗? 我是jdk1.4.2_11的,是1.4.2的最新版本,难道你的是1.5? 这样的应该不难吧!得到现在时刻的年和月///////////////////////////// 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)); Java多线程2—线程的创建 java问题 输入输出 求助:java的一个小问题???? 一道小题 我想去北京蓝点做一个JAVA培训,不知道效果怎么样啊,是不是骗钱的? How to delete the file by java? (waiting online) 50 没有jre能够运行吗?(100分) 当按下button7时,怎样在方法中得到另一个窗口界面?请帮我把这个程序看看,谢谢! 怎么让控件得到焦点? JDBC奇怪问题 弄了一下午都没有弄好的问题,求救,关于javabean 编程大世界(欢迎加入)........
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;
}
}
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;
}
}
1\ compareTo 这个哪里来的?
2\ 设置日期能不能用YYYY-MM-DD的形式表示?
设置日期好像不能用YYYY-MM-DD,你试试吧,你仔细看看java的api类可,里面有详细的说明]
具体算法你自己按照你的要求写吧,就是几个比较和判断的问题
得到现在时刻的年和月
/////////////////////////////
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));