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));
}
}