導航:首頁 > 編程語言 > java獲取一周的日期

java獲取一周的日期

發布時間:2023-08-22 02:56:20

java獲取某個時間的上周一和周日

mport java.text.SimpleDateFormat;
import java.util.Calendar;
public class Test{
public static void main(String args[]){
Calendar cal = Calendar.getInstance();
//n為推遲的周數,1本周,-1向前推遲一周,2下周,依次類推
int n = 2;
String monday;
cal.add(Calendar.DATE, n*7);
//想周幾,這里就傳幾Calendar.MONDAY(TUESDAY...)
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
monday = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
System.out.println(monday);
}
}

❷ java中如何計算本周開始和結束的日期

思路:首先是獲取該月的實際天數,然後從1號遍歷直至該月最後一天,利用Calendar類找出該日是一周中的第幾天,
(1)若該日是周日,則視為一周結束,並用該日期減去6找到該周的開始日期,若相減結果小於等於1,則說明該周起始日期應該是本月1號。
(1)若該日不是周日,且是該月最後一天,則應該在上面計算的基礎上再加一周,視月末為該周的結束日,該周起始日期應為改日期減去改日
在一周中的位置加2,例如:2013-09-30號是周一,則視為9月份中的第六周,開始日期是30-2+2
提示:Calendar 類中視周日為一周的開始,值是1
示例代碼:

[java] view plain
public static void printfWeeks(String date) throws Exception {
// String date = "2013-09";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date date1 = dateFormat.parse(date);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date1);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("days:" + days);
int count = 0;
for (int i = 1; i <= days; i++) {
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date2 = dateFormat1.parse(date + "-" + i);
calendar.clear();
calendar.setTime(date2);
int k = new Integer(calendar.get(Calendar.DAY_OF_WEEK));
if (k == 1) {// 若當天是周日
count++;
System.out.println("-----------------------------------");
System.out.println("第" + count + "周");
if (i - 6 <= 1) {
System.out.println("本周開始日期:" + date + "-" + 1);
} else {
System.out.println("本周開始日期:" + date + "-" + (i - 6));
}
System.out.println("本周結束日期:" + date + "-" + i);
System.out.println("-----------------------------------");
}
if (k != 1 && i == days) {// 若是本月最好一天,且不是周日
count++;
System.out.println("-----------------------------------");
System.out.println("第" + count + "周");
System.out.println("本周開始日期:" + date + "-" + (i - k + 2));
System.out.println("本周結束日期:" + date + "-" + i);
System.out.println("-----------------------------------");
}
}
}

測試代碼:
[java] view plain
public static void main(String[] args) throws Exception {
String s = "2013-";
for (int i = 1; i <= 12; i++) {
System.out.println("*******************************************");
System.out.println("月份:" + i);
printfWeeks(s + i);
System.out.println("*******************************************");

}
// printfWeeks(s + 2);
}

❸ Java中獲取本周內所有日期

importjava.text.SimpleDateFormat;
importjava.util.Calendar;

publicclassDataTest{

publicstaticvoidmain(String[]args){
printWeekdays();
}

privatestaticfinalintFIRST_DAY=Calendar.MONDAY;

(){
Calendarcalendar=Calendar.getInstance();
setToFirstDay(calendar);
for(inti=0;i<7;i++){
printDay(calendar);
calendar.add(Calendar.DATE,1);
}
}

(Calendarcalendar){
while(calendar.get(Calendar.DAY_OF_WEEK)!=FIRST_DAY){
calendar.add(Calendar.DATE,-1);
}
}

privatestaticvoidprintDay(Calendarcalendar){
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyyMMddEE");
System.out.println(dateFormat.format(calendar.getTime()));
}

}

❹ java如何得到上周一和上周日的日期

/**
* 獲取上周五時間
*/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 7 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 9);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6);//這是從上周日開始數的到本周五為6
}

/**
* 獲取上周一時間
*/
public Date lastMonday() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 1 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 7);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2);
}

❺ java 怎麼根據第幾年的第幾周獲取那周周一的時期

1、使用Calendar類。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2016); // 2016年
cal.set(Calendar.WEEK_OF_YEAR, 10); // 設置為2016年的第10周
cal.set(Calendar.DAY_OF_WEEK, 2); // 1表示周日,2表示周一,7表示周六
Date date = cal.getTime();

以上就能得到2016年第10周的周一的Date時間。
註:上面代碼是手工敲的,沒有放到eclipse中運行,有寫錯的地方請諒解

❻ java 獲得本周一到周五的日期

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
public class WorkDay {
public static void main(String[] args) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd E");
for (Date date : getWeekDay()) {
System.out.println(dateFormat.format(date));
}
}
public static Date[] getWeekDay() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
Date[] dates = new Date[5];
for (int i = 0; i &lt; 5; i++) {
dates[i] = calendar.getTime();
calendar.add(Calendar.DATE, 1);
}
return dates;
}
}

如果每周指的是從星期一開始,那麼這個程序可以達到你的要求。


如果每周指得是從星期日開始,那麼請說明,我再修改。

閱讀全文

與java獲取一周的日期相關的資料

熱點內容
唐朝加密方式 瀏覽:771
加密標清定位型電視接收機 瀏覽:924
剛入行的程序員 瀏覽:747
mc手機版如何免費開伺服器 瀏覽:627
加密貨幣延期發布 瀏覽:978
福昕pdf閱讀器刪除 瀏覽:436
app收集信息怎麼設置 瀏覽:288
python少兒編程圖 瀏覽:747
命令方塊解禁 瀏覽:930
海康威視伺服器地址和設備標識 瀏覽:298
做網站用php還是html 瀏覽:199
臉部識別演算法模型廠家 瀏覽:176
反編譯的程序帶注釋嗎 瀏覽:713
安裝軟體伺服器未響應怎麼解決 瀏覽:531
閥門開度單片機 瀏覽:568
python多線程有什麼坑 瀏覽:681
程序員從互聯網跳槽到銀行里 瀏覽:244
百度網盤資源解壓後暫不支持在線 瀏覽:220
android自動化環境 瀏覽:253
androidrealm加密 瀏覽:513