您好,代碼如下:

創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注重慶網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)成都定制網(wǎng)頁(yè)設(shè)計(jì)方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及石牌坊等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
* 獲得指定日期的后一天
* @param specifiedDay
* @return
*/
public static String getSpecifiedDayAfter(String specifiedDay){
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day+1);
String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayAfter;
}
... 看錯(cuò)了。 給你說(shuō)說(shuō)思路吧, 先判斷年,再判斷月就可以了啊
國(guó)外一周的開(kāi)始是從星期日,結(jié)束是星期六;而國(guó)內(nèi)一周開(kāi)始為星期一,結(jié)束為星期日,所以分別按兩個(gè)方式處理:
1,國(guó)外日期格式
代碼為:
Calendar calendar = new GregorianCalendar(); //獲取當(dāng)前日期
System.out.println(calendar.getTime()); //打印當(dāng)前日期
calendar.add(Calendar.DAY_OF_WEEK,7-calendar.get(Calendar.DAY_OF_WEEK)+1);
System.out.println(calendar.getTime()); //打印下周日的日期
calendar.add(Calendar.DAY_OF_WEEK, 6);
System.out.println(calendar.getTime()); //打印下周六的日期
代碼解釋:
Calendar 自身帶了很多對(duì)日期處理的方法,add方法是將當(dāng)前日期按照年、月、日向后增加時(shí)間。“calendar.get(Calendar.DAY_OF_WEEK)”意思是今天是本周的第幾天。“7-calendar.get(Calendar.DAY_OF_WEEK)"意思為本周還剩多少天,再加1表示距離下周星期日還有多少天。calendar.add(Calendar.DAY_OF_WEEK,7-calendar.get(Calendar.DAY_OF_WEEK)+1)意思是在今天的日期上向后推進(jìn)到下周日,Calendar 會(huì)自動(dòng)進(jìn)行運(yùn)算。此時(shí)Calendar保存的是下周日的日期,計(jì)算出下周六的日期只需再加6即可。
2,國(guó)內(nèi)日期格式
代碼為:
Calendar calendar = new GregorianCalendar(); //獲取當(dāng)前日期
System.out.println(calendar.getTime()); //打印當(dāng)前日期
calendar.add(Calendar.DAY_OF_WEEK,7-calendar.get(Calendar.DAY_OF_WEEK)+2);
System.out.println(calendar.getTime()); //打印下周一的日期
calendar.add(Calendar.DAY_OF_WEEK, 6);
System.out.println(calendar.getTime()); //打印下周日的日期
執(zhí)行結(jié)果:
Mon Feb 25 16:25:01 CST 2013 //當(dāng)前日期:2月25號(hào) 星期1
Mon Mar 04 16:25:01 CST 2013 //下周一日期:3月4號(hào) 星期1
Sun Mar 10 16:25:01 CST 2013 //下周日日期:3月10號(hào) 星期天
采用日歷類Calendar
Calendar calendar = Calendar.getInstance();
//第二個(gè)參數(shù)的意思表示與當(dāng)前時(shí)間的比較,數(shù)字表示天數(shù),1表示下一天 -1表示前一天。
calendar.add(Calendar.DAY_OF_MONTH,1);
//這樣就可以獲取到下一天,然后你自己去格式化吧
calendar.getTime();
import java.util.Calendar;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
/**
* Title: Test03.javabr
* Description:
*
* @author 王凱芳
* @date 2020年3月5日 下午6:03:04
* @version 1.0
*
* @request 編寫一個(gè)方法能計(jì)算任何一個(gè)人今天離他最近下一次生日還有多少天,然后在主方法(main方法)中輸入你的出生年月日,調(diào)用該方法的計(jì)算結(jié)果并輸出信息“某某同學(xué)離自己最近下一次生日x天”。
*/
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)輸入你的姓名:");
String name = sc.nextLine();
System.out.println("請(qǐng)輸入你的生日,格式為(2000/01/01):");
String line = sc.nextLine();
String[] strs = line.split("/");
if (strs.length == 3) {
int days = getDays(strs[0], strs[1], strs[2]);
if (days == 0) {
System.out.println(String.format("%s 同學(xué),今天是你的生日,祝你生日快樂(lè)(#^.^#)", name, days));
} else {
System.out.println(String.format("%s 同學(xué)離自己最近下一次生日%d天。", name, days));
}
} else {
System.out.println("生日輸入不正確!請(qǐng)按格式輸入。");
}
sc.close();
}
/**
* 獲取最近一次生日天數(shù)
*
* @param year
* @param month
* @param day
* @return
*/
public static int getDays(String year, String month, String day) {
Calendar now = Calendar.getInstance();
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
now.set(Calendar.MILLISECOND, 0);
int now_year = now.get(Calendar.YEAR);
Calendar birthday = Calendar.getInstance();
birthday.set(Calendar.YEAR, now_year);
birthday.set(Calendar.MONTH, Integer.parseInt(month) - 1);
birthday.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
birthday.set(Calendar.HOUR_OF_DAY, 0);
birthday.set(Calendar.MINUTE, 0);
birthday.set(Calendar.SECOND, 0);
birthday.set(Calendar.MILLISECOND, 0);
long diff = now.getTimeInMillis() - birthday.getTimeInMillis();
if (diff == 0) {
return 0;
} else if (diff 0) {
long diffDays = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
return Math.abs((int) diffDays);
} else {
birthday.add(Calendar.YEAR, 1);
long diffMi = birthday.getTimeInMillis() - now.getTimeInMillis();
long diffDays = TimeUnit.DAYS.convert(diffMi, TimeUnit.MILLISECONDS);
return (int) diffDays;
}
}
}
本文題目:求下一天java代碼,java程序員的一天
轉(zhuǎn)載注明:http://chinadenli.net/article42/dsiosec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)