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

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

java統(tǒng)計(jì)安全天數(shù)代碼的簡單介紹

Java編寫程序完成輸人年份和月份,計(jì)算指定年份中的天數(shù)并含代碼注解

/**

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)岐山,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

?*?在一個(gè)時(shí)間段計(jì)算出多少天

?*?@param?beginDate?開始時(shí)間

?*?@param?endDate?結(jié)束時(shí)間

?*?@param?format?格式?如果??yyyy-MM-dd;yyyy

?*?@return?天數(shù)

?*/

public?static?int?getDay(String?beginDate,?String?endDate,?String?format)?{

try?{

//?日期操作類,設(shè)置制定的格式

SimpleDateFormat?sim?=?new?SimpleDateFormat(format);

Date?d1?=?sim.parse(beginDate);?//?傳入開始時(shí)間

Date?d2?=?sim.parse(endDate);???//?傳入結(jié)束時(shí)間

//計(jì)算開始時(shí)間和結(jié)束時(shí)間的時(shí)間差

int?num?=?(int)?((d2.getTime()?-?d1.getTime())?/?(3600L?*?1000?*?24));

if(!format.equals("yyyy"))?{

num?=?num?+?1;

}

return?num;

}?catch?(Exception?e)?{

e.printStackTrace();

return?0;

}

}

public?static?void?main(String[]?args)?{

System.out.println(getDay("2018",?"2020",?"yyyy"));

System.out.println(getDay("2018-01-01",?"2018-12-31",?"yyyy-MM-dd"));

System.out.println(getDay("2019-02-07",?"2019-02-11",?"yyyy-MM-dd"));

}

年的月的都有,有什么疑問可以問我。

java編寫程序根據(jù)輸入的年和月計(jì)算指定月的總天數(shù),要代碼

好了,你試一下

import java.util.*;

class Test

{

public static void main(String[] args)

{

try

{

Scanner in=new Scanner(System.in);

System.out.print("請(qǐng)輸入年份:");

int year=in.nextInt();

System.out.print("請(qǐng)輸入月份:");

int month=in.nextInt();

if(year0 || month0)

System.out.println("你輸入的年份或月份為負(fù),請(qǐng)輸入正整數(shù)");

int day=28;

GregorianCalendar gc=new GregorianCalendar(year,month-1,day);

System.out.println(gc.get(Calendar.MONTH)+" "+gc.get(Calendar.DAY_OF_MONTH));

while((month-1)==gc.get(Calendar.MONTH))

{

gc.add(Calendar.DAY_OF_MONTH,1);

day++;

}

System.out.println("該月的總天數(shù)為:"+(--day));

}

catch(Exception ex)

{

System.out.println("您輸入了非法字符,程序退出,請(qǐng)輸入正整數(shù)");

}

}

}

用java代碼計(jì)算46天的周數(shù)和剩余天數(shù)

請(qǐng)看下面代碼:

public staic void main(String[] args){

int zhouNum=46/7;

int yuNum=46%7;

System.out.println("周數(shù):"+zhouNum+"余下的天數(shù):"+yuNum);

}

java計(jì)算兩個(gè)日期之間的天數(shù)

在Java開發(fā)物流或是其他功能的時(shí)候會(huì)用到兩個(gè)日期相差多天的數(shù)據(jù),所以整理了一下備用。

調(diào)用方式:

代碼如下 復(fù)制代碼

long date1 = getDateTime("20121201");//可改成自己的日期類型,但以“20121212”這種格式

long date2 = getDateTime("20121212");

int day = dateInterval(date1, date2);

System.out.println(day);

具體實(shí)現(xiàn)方法調(diào)用:

代碼如下 復(fù)制代碼

/**

* 計(jì)算出兩個(gè)日期之間相差的天數(shù)

* 建議date1 大于 date2 這樣計(jì)算的值為正數(shù)

* @param date1 日期1

* @param date2 日期2

* @return date1 - date2

*/

public static int dateInterval(long date1, long date2) {

if(date2 date1){

date2 = date2 + date1;

date1 = date2 - date1;

date2 = date2 - date1;

}

// Canlendar 該類是一個(gè)抽象類

// 提供了豐富的日歷字段

// 本程序中使用到了

// Calendar.YEAR 日期中的年份

// Calendar.DAY_OF_YEAR 當(dāng)前年中的天數(shù)

// getActualMaximum(Calendar.DAY_OF_YEAR) 返回今年是 365 天還是366天

Calendar calendar1 = Calendar.getInstance(); // 獲得一個(gè)日歷

calendar1.setTimeInMillis(date1); // 用給定的 long 值設(shè)置此 Calendar 的當(dāng)前時(shí)間值。

Calendar calendar2 = Calendar.getInstance();

calendar2.setTimeInMillis(date2);

// 先判斷是否同年

int y1 = calendar1.get(Calendar.YEAR);

int y2 = calendar2.get(Calendar.YEAR);

int d1 = calendar1.get(Calendar.DAY_OF_YEAR);

int d2 = calendar2.get(Calendar.DAY_OF_YEAR);

int maxDays = 0;

int day = 0;

if(y1 - y2 0){

day = numerical(maxDays, d1, d2, y1, y2, calendar2);

}else{

day = d1 - d2;

}

return day;

}

/**

* 日期間隔計(jì)算

* 計(jì)算公式(示例):

* 20121201- 20121212

* 取出20121201這一年過了多少天 d1 = 天數(shù) 取出20121212這一年過了多少天 d2 = 天數(shù)

* 如果2012年這一年有366天就要讓間隔的天數(shù)+1,因?yàn)?月份有29日。

* @param maxDays 用于記錄一年中有365天還是366天

* @param d1 表示在這年中過了多少天

* @param d2 表示在這年中過了多少天

* @param y1 當(dāng)前為2012年

* @param y2 當(dāng)前為2012年

* @param calendar 根據(jù)日歷對(duì)象來獲取一年中有多少天

* @return 計(jì)算后日期間隔的天數(shù)

*/

public static int numerical(int maxDays, int d1, int d2, int y1, int y2, Calendar calendar){

int day = d1 - d2;

int betweenYears = y1 - y2;

ListInteger d366 = new ArrayListInteger();

if(calendar.getActualMaximum(Calendar.DAY_OF_YEAR) == 366){

System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_YEAR));

day += 1;

}

for (int i = 0; i betweenYears; i++) {

// 當(dāng)年 + 1 設(shè)置下一年中有多少天

calendar.set(Calendar.YEAR, (calendar.get(Calendar.YEAR)) + 1);

maxDays = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);

// 第一個(gè) 366 天不用 + 1 將所有366記錄,先不進(jìn)行加入然后再少加一個(gè)

if(maxDays != 366){

day += maxDays;

}else{

d366.add(maxDays);

}

// 如果最后一個(gè) maxDays 等于366 day - 1

if(i == betweenYears-1 betweenYears 1 maxDays == 366){

day -= 1;

}

}

for(int i = 0; i d366.size(); i++){

// 一個(gè)或一個(gè)以上的366天

if(d366.size() = 1){

day += d366.get(i);

}

}

return day;

}

/**

* 將日期字符串裝換成日期

* @param strDate 日期支持年月日 示例:yyyyMMdd

* @return 1970年1月1日器日期的毫秒數(shù)

*/

public static long getDateTime(String strDate) {

return getDateByFormat(strDate, "yyyyMMdd").getTime();

}

/**

* @param strDate 日期字符串

* @param format 日期格式

* @return Date

*/

public static Date getDateByFormat(String strDate, String format) {

SimpleDateFormat sdf = new SimpleDateFormat(format);

try{

return (sdf.parse(strDate));

}catch (Exception e){

return null;

}

}

例2

代碼如下 復(fù)制代碼

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class test16 {

/**

* @param args

* @throws ParseException

*/

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

// TODO Auto-generated method stub

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date d1=sdf.parse("2012-09-08 10:10:10");

Date d2=sdf.parse("2012-09-15 00:00:00");

System.out.println(daysBetween(d1,d2));

System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));

}

/**

* 計(jì)算兩個(gè)日期之間相差的天數(shù)

* @param smdate 較小的時(shí)間

* @param bdate 較大的時(shí)間

* @return 相差天數(shù)

* @throws ParseException

*/

public static int daysBetween(Date smdate,Date bdate) throws ParseException

{

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

smdate=sdf.parse(sdf.format(smdate));

bdate=sdf.parse(sdf.format(bdate));

Calendar cal = Calendar.getInstance();

cal.setTime(smdate);

long time1 = cal.getTimeInMillis();

cal.setTime(bdate);

long time2 = cal.getTimeInMillis();

long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));

}

/**

*字符串的日期格式的計(jì)算

*/

public static int daysBetween(String smdate,String bdate) throws ParseException{

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

Calendar cal = Calendar.getInstance();

cal.setTime(sdf.parse(smdate));

long time1 = cal.getTimeInMillis();

cal.setTime(sdf.parse(bdate));

long time2 = cal.getTimeInMillis();

long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));

}

}

例3

代碼如下 復(fù)制代碼

//取得剩余天數(shù)

SimpleDateFormat df=new SimpleDateFormat("yyyymmdd");

Date d0=new java.util.Date();

Date d1=df.parse(end_date);

long time0=d0.getTime();

long time1=d1.getTime();

System.out.println((time1-time0)/(1000*60*60*24));

這樣算兩個(gè)時(shí)間相差的天數(shù)比較好

代碼如下 復(fù)制代碼

/**

* 計(jì)算兩個(gè)日期之間相差的天數(shù)

*

* @param date1

* @param date2

* @return

*/

public static int diffdates(Date date1, Date date2) {

int result = 0;

ElapsedTime et = new ElapsedTime();

GregorianCalendar gc1 = new GregorianCalendar();

GregorianCalendar gc2 = new GregorianCalendar();

gc1.setTime(date1);

gc2.setTime(date2);

result = et.getDays(gc1, gc2);

return result;

}

然后ElapseTime中的方法是:

代碼如下 復(fù)制代碼

public int getDays(GregorianCalendar g1, GregorianCalendar g2) {

int elapsed = 0;

GregorianCalendar gc1, gc2;

if (g2.after(g1)) {

gc2 = (GregorianCalendar) g2.clone();

gc1 = (GregorianCalendar) g1.clone();

} else {

gc2 = (GregorianCalendar) g1.clone();

gc1 = (GregorianCalendar) g2.clone();

}

gc1.clear(Calendar.MILLISECOND);

gc1.clear(Calendar.SECOND);

gc1.clear(Calendar.MINUTE);

gc1.clear(Calendar.HOUR_OF_DAY);

gc2.clear(Calendar.MILLISECOND);

gc2.clear(Calendar.SECOND);

gc2.clear(Calendar.MINUTE);

gc2.clear(Calendar.HOUR_OF_DAY);

while (gc1.before(gc2)) {

gc1.add(Calendar.DATE, 1);

elapsed++;

}

return elapsed;

}

其實(shí)使用joda最簡單

代碼如下 復(fù)制代碼

public boolean isRentalOverdue(DateTime datetimeRented) {

Period rentalPeriod = Period.days(2);

return datetimeRented.plus(rentalPeriod).isBeforeNow()

}

java中 如何獲取當(dāng)月的天數(shù),指定日期的月份天數(shù)

代碼實(shí)現(xiàn)如下:

package test01;

import java.util.Calendar;

/**

*

* @author 碼靈

* 20170905

*

*/

public class GetDay {

public static void main(String[] args) {

int currentMaxDays = getCurrentMonthDay();

int maxDaysByDate = getDaysByYearMonth(2017, 9);

System.out.println("本月天數(shù):" + currentMaxDays);

System.out.println("2017年9月天數(shù):" + maxDaysByDate);

}

/**

* 獲取當(dāng)月的 天數(shù)

*/

public static int getCurrentMonthDay() {

Calendar a = Calendar.getInstance();

a.set(Calendar.DATE, 1);

a.roll(Calendar.DATE, -1);

int maxDate = a.get(Calendar.DATE);

return maxDate;

}

/**

* 根據(jù)年 月 獲取對(duì)應(yīng)的月份 天數(shù)

*/

public static int getDaysByYearMonth(int year, int month) {

Calendar a = Calendar.getInstance();

a.set(Calendar.YEAR, year);

a.set(Calendar.MONTH, month - 1);

a.set(Calendar.DATE, 1);

a.roll(Calendar.DATE, -1);

int maxDate = a.get(Calendar.DATE);

return maxDate;

}

}


網(wǎng)站名稱:java統(tǒng)計(jì)安全天數(shù)代碼的簡單介紹
本文URL:http://weahome.cn/article/hjegjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部