1. java中,利用Calendar对象怎么得到天数,和月数,(天数和月数单独拿出来的 不像:yyyy-MM-dd)
Calendar cal=Calendar.getInstance();
System.out.println(cal.get(Calendar.YEAR)+"年");
System.out.println(cal.get(Calendar.MONTH)+1+"月");
System.out.println(cal.get(Calendar.DATE)+"日");
2. java如何计算两个日期之间相差的天数
在Java中,计算两个日期之间相差的天数可以通过多种方式实现。一种常见方法是使用SimpleDateFormat和Date类。首先,创建一个SimpleDateFormat实例来格式化日期字符串。接着,使用parse方法将日期字符串转换为Date对象。然后,获取这两个Date对象的时间戳,并计算它们的差值。最后,将差值除以一天的毫秒数来获取天数差异。
另一个方法是定义一个名为diffdates的函数,该函数接受两个Date对象作为参数。函数内部,使用ElapsedTime类来获取两个日期之间的天数。ElapsedTime类中的getDays方法首先检查哪个日期更晚,然后使用GregorianCalendar类来比较两个日期。通过清除小时、分钟、秒和毫秒,确保比较的是日期部分。然后,通过逐日增加日期来计算天数差异。
除了上述方法,还可以使用joda-time库,这是一个强大的日期和时间处理库。joda-time库中的DateTime类提供了更简洁的方法来计算两个日期之间的天数。例如,isRentalOvere方法可以通过传入一个DateTime对象来判断租赁是否过期,其中DateTime对象表示租赁开始时间。通过调用isAfter方法,可以轻松比较两个DateTime对象,并判断租赁是否已经过期。
总之,计算两个日期之间相差的天数可以通过多种方式实现,具体取决于项目的复杂性和需求。对于简单的项目,可以使用内置的Java日期类。而对于更复杂的日期和时间处理需求,joda-time库提供了更强大和灵活的解决方案。
3. JAVA取得两日期之间的天数
你可以自己修改一下,
如果日期相同不算一天的话,去掉//日期加1
cal.add(Calendar.DAY_OF_MONTH,1);
如果算周六日的话去掉if的判断
/**
* 获取两个日期中间的工作日
* @param starttime
* @param endtime
* @return
*/
public static int getworktime(String starttime, String endtime){
//设置时间格式
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
//开始日期
Date dateFrom=null;
Date dateTo=null;
try {
dateFrom = dateFormat.parse(starttime);
dateTo = dateFormat.parse(endtime);
} catch (ParseException e) {
e.printStackTrace();
}
int workdays = 0;
Calendar cal = null;
while(dateFrom.before(dateTo)|| dateFrom.equals(dateTo)){
cal = Calendar.getInstance();
//设置日期
cal.setTime(dateFrom);
if((cal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY)
&&(cal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)){
//进行比较,如果日期不等于周六也不等于周日,工作日+1
workdays++;
}
//日期加1
cal.add(Calendar.DAY_OF_MONTH,1);
dateFrom = cal.getTime();
}
return workdays;
}
4. 求java怎么实现每循环一次时间增加一个小时并且有天数的增长
Calendar begin=Calendar.getInstance();
begin.setTime(....);//给定起始时间
//比如100小时
for(int i=0;i<100;i++){
//执行你的内操作
begin.add(Calendar.HOUR,1);//增加容了一小时
}
5. java 计算日期 日期=起始日期+天数(周六,周日不算)
import java.util.Calendar;
import java.util.Date;
public class WorkDayAdd {
private static Date addWorkDay(Date date, int num) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int mod = num % 5;
int other = num / 5 * 7;
for (int i = 0; i < mod;) {
cal.add(Calendar.DATE, 1);
switch (cal.get(Calendar.DAY_OF_WEEK)) {
case Calendar.SUNDAY:
case Calendar.SATURDAY:
break;
default:
i++;
break;
}
}
if (other > 0)
cal.add(Calendar.DATE, other);
return cal.getTime();
}
public static void main(String[] args) {
System.out.println(addWorkDay(new Date(), 1));
}
}