真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

日期計算代碼java 日期期間怎么計算

用Java編制一個日期計算程序

import java.util.Calendar; import java.util.Date; import java.util.Scanner; /** * */ /** * @author think * */ public class Test1 { /** * */ public Test1() { // TODO Auto-generated constructor stub } /** * function: * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new Test1().print(); } /** * function: 打印函數(shù) 包含對當(dāng)前輸入的月歷的打印 以及輸入和輸出的打印 */ public void print(){ //當(dāng)月天數(shù) //輸入你的查詢年月 如果直接輸入月 默認(rèn)是當(dāng)前年 Scanner scanner = new Scanner(System.in); System.out.println("1.please input the month:"); int month = scanner.nextInt(); while(month = 0 || month 12) { System.out.println("1.please input the month:"); month = scanner.nextInt(); } int days = days(month); String[] weeks = {"sun","mon","tue","wed","thr","Frd","sat"}; for (int i = 0; i weeks.length; i++) { System.out.print(weeks[i]); for (int j = 0; j 2; j++) { System.out.print(" "); } } System.out.println(); int weekOfday = getWeekOfday(month,1); //獲得第一天的星期 for (int i = 0; i (weekOfday - 1) * 5; i++) { System.out.print(" "); } for (int i = 1; i = days; i++,weekOfday +=1) { if(weekOfday == 8) { weekOfday = 1; System.out.println(); System.out.print(i); } else { System.out.print(i); } for (int j = 0; j 5 - (String.valueOf(i).length()); j++) { System.out.print(" "); } } System.out.println("\n"); System.out.println("2.please input the date(format is like:20030204):"); String date = scanner.next(); while(date.length() 8) { System.out.println("2.please input the date(format is like:20030204):"); date = scanner.next(); } System.out.println("your input date weekday is:" + (getWeekDayStr(getWeekOfday(date)))); System.out.println("\n"); System.out.println("3.please input the compute date1(format is like:20030204):"); String date1 = scanner.next(); while(date.length() 8) { System.out.println("3.please input the compute date1(format is like:20030204):"); date1 = scanner.next(); } System.out.println("3.please input the compute date2(format is like:20030204):"); String date2 = scanner.next(); while(date.length() 8) { System.out.println("3.please input the compute date2(format is like:20030204):"); date2 = scanner.next(); } int xiangchadays = daysxiangcha(date1, date2); System.out.println("xiangcha days is:" + xiangchadays); } /** * function: 通過準(zhǔn)確的年月日查詢星期幾的整數(shù)表示 * @param year * @param month * @param day * @return */ public int getWeekOfday(int year,int month, int day) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month - 1); c.set(Calendar.DAY_OF_MONTH, day); return c.get(Calendar.DAY_OF_WEEK); } /** * function: 通過輸入月日 查詢星期幾的整數(shù)表示 默認(rèn)是當(dāng)前年 * @param month * @param day * @return */ public int getWeekOfday(int month, int day) { Calendar c = Calendar.getInstance(); c.setTime(new Date()); int year = c.get(Calendar.YEAR); return getWeekOfday(year, month, day); } /** * function: 通過日期字符串獲得星期幾的整數(shù)表示 * @param dateStr * @return */ public int getWeekOfday(String dateStr) { int year =Integer.parseInt(dateStr.substring(0, 4)) ; int month =Integer.parseInt(dateStr.substring(4, 6)) ; int day =Integer.parseInt(dateStr.substring(6, 8)) ; return getWeekOfday(year, month, day); } /** * function: 返回星期幾這樣的表示 * @param weekday * @return */ public String getWeekDayStr(int weekday) { return weekDayStrs[weekday - Calendar.SUNDAY]; } String[] weekDayStrs = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; /** * function: 兩個日期的相差天數(shù) * @param dateStr1 20100205這樣的格式 * @param dateStr2 20100205這樣的格式 * @return */ public int daysxiangcha(String dateStr1,String dateStr2) { int year1 =Integer.parseInt(dateStr1.substring(0, 4)) ; int month1 =Integer.parseInt(dateStr1.substring(4, 6)) ; int day1 =Integer.parseInt(dateStr1.substring(6, 8)) ; int year2 =Integer.parseInt(dateStr2.substring(0, 4)) ; int month2 =Integer.parseInt(dateStr2.substring(4, 6)) ; int day2 =Integer.parseInt(dateStr2.substring(6, 8)) ; Calendar c1 = Calendar.getInstance(); c1.set(Calendar.YEAR, year1); c1.set(Calendar.MONTH, month1 -1); c1.set(Calendar.DAY_OF_MONTH, day1); Calendar c2 = Calendar.getInstance(); c2.set(Calendar.YEAR, year2); c2.set(Calendar.MONTH, month2 - 1); c2.set(Calendar.DAY_OF_MONTH, day2); long mills = c1.getTimeInMillis() c2.getTimeInMillis()? c1.getTimeInMillis() - c2.getTimeInMillis(): c2.getTimeInMillis() - c1.getTimeInMillis(); return (int)(mills/1000/3600/24); } /** * @param year * @param month * @return 某年某月的天數(shù) */ public static int days(int year,int month) { int days = 0; if(month!=2) { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:days = 31 ;break; case 4: case 6: case 9: case 11:days = 30; } } else { if(year%4==0 year%100!=0 || year%400==0) days = 29; else days = 28; } return days; } /** * function: 查詢某月的天數(shù) 默認(rèn)是當(dāng)前年份 * @param month * @return */ public static int days(int month) { Calendar c = Calendar.getInstance(); c.setTime(new Date()); int year = c.get(Calendar.YEAR); return days(year, month); } }

創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計團(tuán)隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10余年的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都上千余家中小型企業(yè)策劃設(shè)計了網(wǎng)站。

java 計算某日期 多少天后的日期

java計算某日期之后的日期,可以參考如下代碼:

public static void main(String[] args) {

// 時間表示格式可以改變,yyyyMMdd需要寫例如20160523這種形式的時間

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

String str = "2016/05/23";

// 將字符串的日期轉(zhuǎn)為Date類型,ParsePosition(0)表示從第一個字符開始解析

Date date = sdf.parse(str, new ParsePosition(0));

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

// add方法中的第二個參數(shù)n中,正數(shù)表示該日期后n天,負(fù)數(shù)表示該日期的前n天

calendar.add(Calendar.DATE, -10);

Date date1 = calendar.getTime();

String out = sdf.format(date1);

System.out.println(out);

}

java中如何計算出兩個日期之間相差多少天

思路就是根據(jù)它們相差的毫秒數(shù)除以每天的毫秒數(shù)(60*60*24*1000),代碼如下:

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

String date1="1987-01-01";

String date2="2010-01-01";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

Date d1=sdf.parse(date1);

Date d2=sdf.parse(date2);

long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);

System.out.println("1987-01-01 與 2010-01-01 相隔 "+daysBetween+" 天");

}

運(yùn)行結(jié)果如下:

擴(kuò)展資料:

Java使用以下三種方法來比較兩個日期:

1、使用 getTime() 方法獲取兩個日期(自1970年1月1日經(jīng)歷的毫秒數(shù)值),然后比較這兩個值。

2、使用方法 before(),after() 和 equals()。例如,一個月的12號比18號早,則 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。

3、使用 compareTo() 方法,它是由 Comparable 接口定義的,Date 類實現(xiàn)了這個接口。

SimpleDateFormat 是一個以語言環(huán)境敏感的方式來格式化和分析日期的類。SimpleDateFormat 允許你選擇任何用戶自定義日期時間格式來運(yùn)行

例如:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

這一行代碼確立了轉(zhuǎn)換的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是時、分、秒。

注意:有的格式大寫,有的格式小寫,例如 MM 是月份,mm 是分;HH 是 24 小時制,而 hh 是 12 小時制。

以上實例編譯運(yùn)行結(jié)果如下:

當(dāng)前時間為: 2018-09-14 10:16:34

參考資料:

Java官方API接口-Date

菜鳥教程-Java 日期時間

(JAVA)輸入年月日,計算日期是今年的第幾天?

import java.util.Scanner;

/**

* Created by xpf on 2018/6/22 :)

* GitHub:xinpengfei520

* Function:

*/

public class CalculateUtils {

/*平年二月28天*/

private static final int DAYS_28 = 28;

/*閏年二月29天*/

private static final int DAYS_29 = 29;

/*除了31天的月份其他均為30天*/

private static final int DAYS_30 = 30;

/*1、3、5、7、8、10、12月份31天*/

private static final int DAYS_31 = 31;

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("Please input year:");

int year = input.nextInt();

System.out.println("Please input month:");

int month = input.nextInt();

System.out.println("Please input day:");

int day = input.nextInt();

int daysInYear = getDaysInYear(year, month, day);

System.out.println("daysInYear:" + daysInYear);

}

/**

* get days in this year

*

* @param year

* @param month

* @param day

* @return

*/

public static int getDaysInYear(int year, int month, int day) {

int totalDays = 0;

switch (month) {

// 12 月份加的是11月份的天數(shù),依次類推

case 12:

totalDays += DAYS_30;

case 11:

totalDays += DAYS_31;

case 10:

totalDays += DAYS_30;

case 9:

totalDays += DAYS_31;

case 8:

totalDays += DAYS_31;

case 7:

totalDays += DAYS_30;

case 6:

totalDays += DAYS_31;

case 5:

totalDays += DAYS_30;

case 4:

totalDays += DAYS_31;

case 3:

// 判斷是否是閏年

if (((year / 4 == 0) (year / 100 != 0)) || (year / 400 == 0)) {

totalDays += DAYS_29;

} else {

totalDays += DAYS_28;

}

case 2:

totalDays += DAYS_31;

case 1: // 如果是1月份就加上輸入的天數(shù)

totalDays += day;

}

return totalDays;

}

}

【解題思路】

1、通過年份區(qū)分是閏年還是平年,平年 2 月 28 年,閏年 2 月 29 天。

2、1、3、5、7、8、10、12 月份為 31 天,其余月份為 30 天。

3、將每個月的天數(shù)相加即可,如果輸入的是 12 月,則從 11 月往前累加到1月。

擴(kuò)展資料

其他java計算日期的方式

package study01;

import java.util.Scanner;

public class TestDay {

/*

* 輸入2017年的月和日:month=?,day=? 輸出輸入的日期是2017年的第幾天,使用switch完成

*/

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("month=");

int month = sc.nextInt();

System.out.print("day=");

int day = sc.nextInt();

int days = 0;

switch (month) {

case 12:

days += 30;

case 11:

days += 31;? ? ?

case 10:

days += 30;

case 9:

days += 31;

case 8:

days += 31;

case 7:

days += 30;

case 6:

days += 31;?

case 5:

days += 30;? ? ? ?

case 4:

days += 31;

case 3:

days += 28;

case 2:

days += 31;

case 1:

days += day;? ? ? ? ? ? ? ?

}

if(days365){

System.out.println("你輸入的已經(jīng)超過了365天了");

}else{

System.out.println("第" + days + "天");

}

}

}

輸出的結(jié)果如下:

month=12

day=31

第365天

參考資料:百度百科-Scanner

參考資料:百度百科-java

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


標(biāo)題名稱:日期計算代碼java 日期期間怎么計算
文章位置:http://weahome.cn/article/hgjhhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部