導航:首頁 > 源碼編譯 > java日期演算法

java日期演算法

發布時間:2022-08-29 01:53:41

⑴ 求java實現工作日方法

import java.text.DateFormat;

import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Test9 {

/**
* 第9題:編寫程序,該程序啟動後用戶可以按「yyyy-MM-dd」的格式輸入一個日期,程序計算這一天是星期幾,並且計算出是一年中的第幾天。
*
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {

Scanner scan = new Scanner(System.in);
System.out.println("請輸入日期(格式為yyyy-mm-dd):");
String input = scan.next();
DateFormat format = DateFormat.getDateInstance();
Date date = format.parse(input);
Calendar ca = Calendar.getInstance();
ca.setTime(date); //設置輸入時間
int xingqi = ca.get(Calendar.DAY_OF_WEEK);//獲得輸入日期是星期幾?
System.out.println("您輸入的日期是:"+input);
System.out.println("這一天是"+ GetWeek(xingqi));
System.out.println("這一天是這年的第"+ ca.get(Calendar.DAY_OF_YEAR)+"天");

}
public static String GetWeek(int i)
{
if(i<0||i>7){
System.out.println(i+"沒有對應的星期");
}
String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return weeks[i];

}

}

⑵ JAVA日期計算

import java.util.Date;

public class DateUtil
{
/**
* milliseconds in one day
*/
public static final long MILLIS_IN_DAY = 1000 * 60 * 60 * 24;

/**
* get the n th date after the given date
*/
public static Date getNextNDate(Date date, int n) {
return new Date(date.getTime() + DateUtil.MILLIS_IN_DAY * n);
}

public static void main(String[] args) {
Date now = new Date();
System.out.println(now);
System.out.println("ten days later");
System.out.println(getNextNDate(now,10));
}
}

⑶ java 按日期分組 演算法

直接用SQL語句
select count(id) as 數量,day(date) as 生產日期 from table group by day(date) order by day(czrq)

如果庫里不止一個月的數據,那麼再加個where條件

⑷ java中能不能輸入一個格式為「年-月-日」的日期賦給一個變數x(若有,求演算法)謝謝啦

/**
* 計算日期差
* @param dstr1 第一個日期
* @param dstr2 第二個日期
* @return charge 日期差
*/

public long charge(String dstr1,String dstr2){

SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
try{
Date d1 = (Date) sd.parse(dstr1);
Date d2 = (Date) sd.parse(dstr2);
charge = (d2.getTime()-d1.getTime())/(24*60*60*1000);

}catch(ParseException e){
e.printStackTrace();
}
return charge;
}
照上面的注釋輸入相應的日期就可以了

⑸ Java中如何把日期轉換為秒數

Date類有一個getTime()可以換回秒數,例如:

publicclassDateToSecond
{
publicstaticvoidmain(String[]args)
{
Datedate=newDate(System.currentTimeMillis());
System.out.println(date.getTime());
}
}

⑹ java中關於日期的設置,演算法不全,哪位可以幫忙寫一下

public class TestDate {
/**
* 這個靜態變數是用來表示,在潤年的時候每個月的最大的天數,下標對應月份
* 如果不是潤年的話,把DAYS[2]減1就可以了
*/
private static final int[] DAYS = {0,31,29,31,30,31,30,31,31,30,31,30,31};
/**
* 這個變數是用來貯存年的
*/
private int year;
/**
* 這個變數是用來貯存月的
*/
private int month;
/**
* 這個變數是用來貯存日的
*/
private int day;

/**
* 構造方法
*/
public TestDate() {
super();
}

/**
* 年的get方法
*/
public int getYear() {
return this.year;
}
/**
* 年的set方法
*/
public void setYear(int year){
this.year = year;
}
/**
* 月的get方法
*/
public int getMonth() {
return this.month;
}
/**
* 月的set方法
*/
public void setMonth(int month){
this.month = month;
}
/**
* 日的get方法
*/
public int getDay() {
return this.day;
}
/**
* 日的set方法
*/
public void setDay(int day){
this.day = day;
}

//============================= 下面是具體的方法 ===========================
/**
* 你的目的代碼,設置日期
*/
public void set(int year,int month,int day){
boolean isLeepYear = this.isLeepYear(year);//判斷是不是潤年
this.year = year;//對成員變數賦值
this.month = ((month >= 1) && (month <= 12)) ? month : 1;
int _tempDay = DAYS[this.month];//獲得這個月份的最大天數
if(!isLeepYear && month == 2) _tempDay--;//如果不是潤年且是2月份,天數再減1
this.day = ((day >= 1) && (day <= _tempDay)) ? day : 1; //判斷天數是否正確
}
/**
* 判斷是不是潤年,你的問題也在這兒,先寫一個方法
* 確定是不是潤年,以便能確定你的二月最多是多少天,其它的就沒有什麼了,是固定的
*/
public boolean isLeepYear(int year){
//具體演算法你自己找找吧,網上一大堆,這里就不解釋了
if((year % 400 == 0) || (year % 100 !=0 && year % 4 == 0)) return true;
else return false;
}
//========================= 再給你加個方法方便輸出 ===========================
public String toString(){
return this.year + "-" + this.month + "-" + this.day;
}

public static void main(String[] args){
TestDate td = new TestDate();
//正確的
td.set(2000,2,29);
System.out.println(td);
td.set(1998,12,22);
System.out.println(td);
td.set(1997,4,18);
System.out.println(td);
//錯誤的
td.set(2000,2,33);
System.out.println(td);
td.set(1995,2,56);
System.out.println(td);
td.set(1996,15,80);
System.out.println(td);

}
}

⑺ java日期演算法

你給出一個日期,計算下個一個月份是比較容易計算的,只需要把你給出日期的月份取出來然後加1就行了
1、下個月的月初是確定的,即下個月的1號
2、下個月的月中是確定的,即下個月的十五號
3、下個月的月末可以這么算,取得下下個月的1號,然後減去前天,即是下個月的最後一天。

由此得月初,月中,月末

⑻ JAVA日期演算法問題

long time_old=System.currentTimeMillis(); /** 中間你所說的演算法 **/ long time_new=System.currentTimeMillis(); //獲取中間差時間 long time=time_new-time_old

⑼ java根據日期時間換算生辰八字演算法。

生辰八字的介紹請參考:http://ke..com/view/158.htm#2

具體演算法:
1、設置一個下限年,比如1960,1960年以前的就不給查。並且查萬年歷,該年節後是庚子年。
2、將天乾和地支分別裝在兩個數組裡面。
3、以該年為基準線,設定循環,以查詢年為上限年,循環計數器每加一年,天乾和地支數組標號各右移一位,然後if判斷是否數組到底了,到底了則從頭開始。

月、時的演算法類似。

⑽ java如何計算日期的加減

第一種,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期減1年
rightNow.add(Calendar.MONTH,3);//日期加3個月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二種,自己獲取時間,格式化輸出計算加減
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒後的時間
Date beforeDate = new Date(now .getTime() - time);//60秒前的時間
System.out.println(sdf.format(afterDate ));

閱讀全文

與java日期演算法相關的資料

熱點內容
拉伸訓練pdf 瀏覽:92
如何撥號到中央伺服器 瀏覽:648
中國天才少年程序員 瀏覽:352
編程思想pdf 瀏覽:282
加密歐美航線 瀏覽:48
svn怎麼看伺服器的地址 瀏覽:187
騎馬與砍殺1命令部隊用盾牌 瀏覽:595
光纜pdf 瀏覽:350
加密流量實時監測 瀏覽:628
360壓縮和好壓哪個好 瀏覽:61
python判斷變數是否為list 瀏覽:906
雲伺服器1m帶寬表示什麼意思 瀏覽:702
429升冷櫃用多大壓縮機 瀏覽:116
決策樹演算法java實現 瀏覽:376
androidtv開發焦點控制 瀏覽:328
論人的成長pdf 瀏覽:282
python網站源代碼 瀏覽:827
手機文件壓縮器怎麼安裝 瀏覽:112
androidsdk封裝 瀏覽:266
微信加密不知道怎麼取消 瀏覽:705