Java:如何根據傳入的星期,從當前時間日期向后推算日期
uj5u.com熱心網友回復:
活用Calendarfor example
import java.util.Calendar;
public class Sample {
public static void main(String[] args) {
String []week = {"日", "一", "二", "三", "四", "五?", "六"};
Calendar c = Calendar.getInstance();
System.out.printf("今天是星期%s\n", week[c.get(Calendar.DAY_OF_WEEK)-1]);
int n = 5; //假設向后推算5天
c.add(Calendar.DATE, n);
System.out.printf("%d天是星期%s\n", n, week[c.get(Calendar.DAY_OF_WEEK)-1]);
}
}
uj5u.com熱心網友回復:
不是今天的星期啊,前端選擇傳入的星期,然后向后計算下個星期是哪天日期
uj5u.com熱心網友回復:
服了,都提示到這份上,參照著修改就可以了,好吧,好人做到底,再給你寫一個
import java.util.Calendar;
public class Sample {
public static void main(String[] args) {
List<String> list = new ArrayList<>(
Arrays.asList(new String[] {
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"
})
);
for (String params : list) { //假設params是前端傳入的引數
int weekday = list.indexOf(params);
Calendar c = Calendar.getInstance();
int now = c.get(Calendar.DAY_OF_WEEK);
c.set(Calendar.DAY_OF_WEEK, weekday+1);
if (weekday+1 <= now) { //如果傳入的星期比今天早
c.add(Calendar.DATE, 7); //則加1星期(因為早的星期已經過去)
}
System.out.printf("下個%s是%tF\n?", params, c.getTime());
}
}
}
uj5u.com熱心網友回復:
寫代碼思維要開放,小伙子,當前日期和傳入的日期,不都是個變數么?伸手黨也得思考是吧
uj5u.com熱心網友回復:
不知道你的需求是不是比如傳入星期二,則獲取當天之后最近的那個星期二日期。是的話如果用JDK8就很方便。。。LocalDate.now().with(TemporalAdjusters.next(DayOfWeek.TUESDAY))
或者
LocalDate.now().with(TemporalAdjusters.nextOrSame(DayOfWeek.TUESDAY))
next和nextOrSame的區別是如果當天是星期二,傳入星期二,next回傳的不是當天而是下一個星期二,nextOrSame會回傳當天
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/91790.html
標籤:Java相關
