1. 程式人生 > >java 日期加減天數、月數、年數的計算方式+java實現給指定日期加固定小時、天、月+java判斷當前日期是星期幾

java 日期加減天數、月數、年數的計算方式+java實現給指定日期加固定小時、天、月+java判斷當前日期是星期幾

本篇文章主要介紹一下Calendar類的對時間對一些使用方法:java 日期加減天數、月數、年數的計算方式, java實現給指定日期加固定小時、天、月,java判斷當前日期是星期幾,java判斷某個時間是否在條件時間之內。

程式碼:

public static void main(String[] args) throws Exception{

   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   String nowTime = sdf.format(new Date());

   int week = dayForWeek(nowTime);
   System.out.println("今天是"+nowTime+"周"+week);

   String newTime = calculateTime(sdf.parse(nowTime),week);
   System.out.println(nowTime+"減去"+week+"天數後日期是"+newTime);


   Date addHourTime = newDate(sdf.parse(newTime));
   sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   System.out.println(nowTime+"加時分秒後日期是"+sdf.format(addHourTime));

   sdf = new SimpleDateFormat("MM-dd");
   String str = "12-26";
   boolean isOK = belongDate(sdf.parse(nowTime),sdf.parse(str),0);

   System.out.println(sdf.format(new Date())+"和12-26比較結果是"+isOK);
   Date de = sdf.parse("12-26");
   isOK = belongDate(de,sdf.parse(str),0);
   System.out.println(sdf.format(de)+"和12-26比較結果是"+isOK);
}

/**
 * 判斷當前日期是星期幾<br>
 * <br>
 * @param pTime 修要判斷的時間<br>
 * @return dayForWeek 判斷結果<br>
 * @Exception 發生異常<br>
 */
public static int dayForWeek(String pTime) throws Exception {
   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
   Calendar c = Calendar.getInstance();
   c.setTime(format.parse(pTime));
   int dayForWeek = 0;
   if(c.get(Calendar.DAY_OF_WEEK) == 1){
      dayForWeek = 7;
   }else{
      dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
   }
   return dayForWeek;
}

/**
 * 計算日期
 * @param time 計算的時間
 * @param day 減去的天數
 * @return
 * @throws Exception
 */
public static String calculateTime(Date time,int day) throws Exception {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   Calendar cal = Calendar.getInstance();
   cal.setTime(time);
   cal.add(Calendar.DATE, -day);
   //cal.add(Calendar.MONTH, -day); 月數
   // cal.add(Calendar.YEAR, -day); //年份
   String newTime = sdf.format(cal.getTime());
   return newTime;
}

/**
 * 設定當前時間加時分秒
 * @param time
 * @return
 */
public static Date newDate(Date time) {
   Calendar c = Calendar.getInstance();
   c.setTime(time);   //設定時間
   c.add(Calendar.HOUR,23);   //日期小時加23小時
   c.add(Calendar.MINUTE, 59); //日期分鐘加59分鐘
   c.add(Calendar.SECOND, 59); //日期分鐘加59分鐘
   Date date = c.getTime(); //結果
   return date;
}

/**
 * 比較時間是否在某個時間段內
 * @param time
 * @param now
 * @param n
 * @return
 */
public static boolean belongDate(Date time, Date now, int n) {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   Calendar calendar = Calendar.getInstance();  //得到日曆
   calendar.setTime(now);//把當前時間賦給日曆
   calendar.add(Calendar.DAY_OF_MONTH, n);
   Date before7days = calendar.getTime();   //得到n前的時間
   //我這裡是比較是否具體某一天,判斷範圍可以換成大於小於
   if (before7days.getTime() == time.getTime()) {
      return true;
   } else {
      return false;
   }
}

結果 :

常用方法: 

Calendar.DATE  : 代表天數

Calendar.WEDNESDAY: 代表週數

Calendar.MONTH : 代表月數

Calendar.YEAR :代表年數

相關推薦

java 日期天數計算方式+java實現指定日期固定小時+java判斷當前日期星期

本篇文章主要介紹一下Calendar類的對時間對一些使用方法:java 日期加減天數、月數、年數的計算方式, java實現給指定日期加固定小時、天、月,java判斷當前日期是星期幾,java判斷某個時間是否在條件時間之內。 程式碼: public static voi

Js 日期天數 複製程式碼

<SCRIPT language="javascript"> function addDate(dd,dadd){ var a = new Date(dd) a = a.valueOf() a = a + dadd * 24 * 60 * 60 * 1000 a

五個整數任意組合()得到1~122之間的

//問題描述 /* 給定五個整數1,3,9,27,81,這個五個整數可以任意組合進行加減(可以是五個數中的部分相加),這五個數組合進行加減可以得到1~122之間的數, 任意輸入1~122之間的一個整

JS計算日期天數

//計算日期相減天數 function DateMinus(sDate){ var sdate = new Date(sDate.replace(/-/g, "/")); var now = new Date(); var days = now.getTime(

JAVA判斷當前日期星期

ring orm except [] 星期幾 throw sys string oid package test.ns; import java.text.ParseException; import java.text.SimpleDateFormat; imp

Java 得到某一日期的前一天 後一 並得到該三天分別是星期

public static void main(String[] s) throws ParseException{      String day = "2014-08-01";      String beforeWeek = "";   String dayWeek

實現一個DIV陰影效果!

red 技術分享 html pos cto posit ron nag borde <!DOCTYPE html><html><head><meta charset="utf-8"><title>

java計算方式

閏年的計算方式: import java.util.Scanner; public class Main { public static void main(String[] args) { int y; Scanner s=new Scanner(System.

判斷當前日期在一個時間段日期中

/* * 日期解析,字串轉日期 */function dateParse(dateString) { var SEPARATOR_BAR = "-"; var SEPARATOR_SLASH = "/"; var SEPARATOR_DOT = "."; var dateArra

簡單的C++Concept實現:模板引數限制

本文介紹一種簡單的C++ Concept實現:給模板引數加限制。 1.背景#include <iostream> using namespace std; typedef long long int64; struct BigInteger { BigI

判斷當前日期星期(Calendar類方法的使用)

        java.util.Calendar(抽象類):它表示一個“日曆”,可以進行日期運算;它是一個抽象類,不能直接使用。我們可以通過它的一個靜態方法:getInstance()獲取一個物件。

JAVA的系統時間輸出以及判斷今天是星期

/* 時間: 2012-09-29 程式說明: 實現一個功能:輸出當前的時間和今天是周幾 程式難度: 簡單 程式注意: 一:匯入包 import java.util.*; 二:呼叫函式獲

Java任意輸入年月日並判斷這天是星期

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor

JAVA併發程式設計(五):建立執行緒的第三種方式實現Callable介面

眾所周知建立執行緒的方式有兩種:1.繼承Thread類。2.實現Runnable介面。從jdk1.5開始,提供了另一種建立執行緒的方式。今天我們就來看看這第三種方式:實現Callable介面 一、Callable與Runnable 我們直接來看一個使用C

Java 處理日期運算

1.java 日期加減運算 GregorianCalendar gc = new GregorianCalendar(); //java中對日期的加減操作 gc.add(1,-1);//表示年份減一. gc.add(2,-1);//表示月份減一. gc.add(3,-1);//表示周減一

Java中對日期進行增加天數

有時我們需要對時間資料進行處理,比如日期增加一天,增加一個月,下面是程式碼: import java.util.Date; int Day = 1; Calendar calendar = new GregorianCalendar();  // 定義calendar物件

java獲取當前日期前一週前一個當年的時間兩個日期間的間隔天數

獲取以當前日期為結束日期的一週內的時間: String paramStartDate = ""; String paramEndDate = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); D

java日期Date類進行運算年份,月份

日期比較:簡單的比較可以以字串的形式直接比較,也可使用java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18")) 方式來比較日期的大小.也可使用java.util.Date.after(java.util

【7.11】為Date類過載“+”運算子,實現在某一個日期上(一個天數

#include<iostream.h>  class Date   {      int month;      int day;      int year;  public:     Date(){}      Date(int i)     {day=i;      m

Java中Calendar類中星期日 是否要1及其原因

原文:http://blog.sina.com.cn/s/blog_45c06e600100pm77.html Java中對日期的處理需要用到Calendar類,其中有幾個方法在使用時需要新手注意。 1. 在獲取月份時,Calendar.MONTH + 1 的原因