導航:首頁 > 編程語言 > java取本周第一天

java取本周第一天

發布時間:2022-06-10 04:20:21

1. java獲取一年有多少周,某周的第一天和最後一天

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class Test {

// 獲取當前時間所在年的周數
public static int getWeekOfYear(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setMinimalDaysInFirstWeek(7);
c.setTime(date);

return c.get(Calendar.WEEK_OF_YEAR);
}

// 獲取當前時間所在年的最大周數
public static int getMaxWeekNumOfYear(int year) {
Calendar c = new GregorianCalendar();
c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);

return getWeekOfYear(c.getTime());
}

// 獲取某年的第幾周的開始日期
public static Date getFirstDayOfWeek(int year, int week) {
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);

Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);

return getFirstDayOfWeek(cal.getTime());
}

// 獲取某年的第幾周的結束日期
public static Date getLastDayOfWeek(int year, int week) {
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);

Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);

return getLastDayOfWeek(cal.getTime());
}

// 獲取當前時間所在周的開始日期
public static Date getFirstDayOfWeek(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday
return c.getTime();
}

// 獲取當前時間所在周的結束日期
public static Date getLastDayOfWeek(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.getTime();
}

public static void main(String[] args) {
int year = 2015;
int week = 27;

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date today = new Date();
Calendar c = new GregorianCalendar();
c.setTime(today);

System.out.println("當前時間:current date = " + sdf.format(today));
System.out.println("當前第幾周:getWeekOfYear = " + getWeekOfYear(today));
System.out.println("年度總周數:getMaxWeekNumOfYear = " + getMaxWeekNumOfYear(year));
System.out.println("本周第一天:getFirstDayOfWeek = " + sdf.format(getFirstDayOfWeek(year, week)));
System.out.println("本周最後一天:getLastDayOfWeek = " + sdf.format(getLastDayOfWeek(year, week)));
System.out.println("本周第一天:getFirstDayOfWeek = " + sdf.format(getFirstDayOfWeek(today)));
System.out.println("本周最後一天:getLastDayOfWeek = " + sdf.format(getLastDayOfWeek(today)));
}
}

//輸出結果:
// 當前時間:current date = 2015-07-07 16:35:07
// 當前第幾周:getWeekOfYear = 27
// 年度總周數:getMaxWeekNumOfYear = 52
// getFirstDayOfWeek = 2015-07-06 16:35:07
// getLastDayOfWeek = 2015-07-12 16:35:07
// getFirstDayOfWeek = 2015-07-06 16:35:07
// getLastDayOfWeek = 2015-07-12 16:35:07

2. JAVA 計算某年某周的第一天和最後一天

/**
* 求某年下的第幾個星期的日期 返回java.uilt.Date 類型日期 時間time為當前機器時間
* @param year 要獲得的年
* @param week 第幾個星期
* @param flag 是否是第一天還是最後一天,當為true時返回第一天,false則返回最後一天
* @return java.uilt.Date 類型日期
* @例如 getDayByWeek(2002,2,true) 返回Tue Jan 08 14:11:57 CST 2002
*/
public static Date getDayByWeek(int year,int week,boolean flag)
{
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR,year);
cal.set(Calendar.WEEK_OF_YEAR,week);
if(!flag)
cal.setTimeInMillis(cal.getTimeInMillis()+6*24*60*60*1000);
return cal.getTime();
}

3. 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中運行,有寫錯的地方請諒解

4. 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);
}

5. java 如何獲取 上周一日期,上周末日期,本周一日期。

獲取本周一

(Datedate){
Calendarcal=Calendar.getInstance();
cal.setTime(date);

cal.add(Calendar.DAY_OF_MONTH,-1);//解決周日會出現並到下一周的情況
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);

303returncal.getTime();
}

獲取上周一

(Datedate){
Datea=DateUtils.addDays(date,-1);
Calendarcal=Calendar.getInstance();
cal.setTime(a);
cal.add(Calendar.WEEK_OF_YEAR,-1);//一周
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);

returncal.getTime();
}

獲取上周日

(Datedate){

Datea=DateUtils.addDays(date,-1);
Calendarcal=Calendar.getInstance();
cal.setTime(a);
cal.set(Calendar.DAY_OF_WEEK,1);

returncal.getTime();
}

代碼裡面有用到lapache.common-ang包 你需要下載下 就可以使用

6. java 日期,根據今天的日期,輸出這一周的其他日期,例如:2013-7-31,輸出這周從第一天開始到今天的日期

public static void main(String[] agrs) {
String newtime="2013-8-4";
System.out.println(newtime+""+testDate(newtime));
}
public static String testDate(String newtime) {
String dayNames[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int week1[] = {7,1,2,3,4,5,6};
Calendar c = Calendar.getInstance();// 獲得一個日歷的實例
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
c.setTime(sdf.parse(newtime));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String a=dayNames[c.get(Calendar.DAY_OF_WEEK)-1];

int b=week1[c.get(Calendar.DAY_OF_WEEK)-1];
if(b!=7){
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
}else{
c.add(Calendar.WEEK_OF_MONTH, -1);
c.set(Calendar.DAY_OF_WEEK, 2);
}

for(int i=1;i<b;i++){
if(i==1){
System.out.println(sdf.format(c.getTime()));//本周一
}
c.add(Calendar.DATE,1);

System.out.println(sdf.format(c.getTime()));
}
System.out.println("-------------");
return a;
}

測試結果:
2013-07-29
2013-07-30
2013-07-31
2013-08-01
2013-08-02
2013-08-03
2013-08-04
-------------
2013-8-4星期日

7. java 日期 下一周的第一天 最後一天 分別是多少號

國外一周的開始是從星期日,結束是星期六;而國內一周開始為星期一,結束為星期日,所以分別按兩個方式處理:
1,國外日期格式
代碼為:
Calendar calendar = new GregorianCalendar(); //獲取當前日期
System.out.println(calendar.getTime()); //列印當前日期
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 自身帶了很多對日期處理的方法,add方法是將當前日期按照年、月、日向後增加時間。「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)意思是在今天的日期上向後推進到下周日,Calendar 會自動進行運算。此時Calendar保存的是下周日的日期,計算出下周六的日期只需再加6即可。
2,國內日期格式
代碼為:
Calendar calendar = new GregorianCalendar(); //獲取當前日期
System.out.println(calendar.getTime()); //列印當前日期
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()); //列印下周日的日期
執行結果:
Mon Feb 25 16:25:01 CST 2013 //當前日期:2月25號 星期1
Mon Mar 04 16:25:01 CST 2013 //下周一日期:3月4號 星期1
Sun Mar 10 16:25:01 CST 2013 //下周日日期:3月10號 星期天

8. 求java或者sql語句獲取本周第一天與最後一天的日期 資料庫為my sql

select next_day(sysdate, '星期日'), next_day(sysdate, '星期日')-6 from al

9. 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()));
}

}

10. java 獲取當前日期時間和本周的星期一的日期時間

提倡了一下中文寫,...
static public void main(String 參數[]){
SimpleDateFormat 格式=new SimpleDateFormat("y年M月d日 E H時m分s秒",Locale.CHINA);
Calendar 日歷=Calendar.getInstance(Locale.CHINA);
//當前時間,貌似多餘,其實是為了所有可能的系統一致
日歷.setTimeInMillis(System.currentTimeMillis());
System.out.println("當前時間:"+格式.format(日歷.getTime()));
日歷.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("周一時間:"+格式.format(日歷.getTime()));
}
===========
改到後天測了一下
輸出
當前時間:2011年8月31日 星期三 12時32分40秒
周一時間:2011年8月29日 星期一 12時32分40秒

閱讀全文

與java取本周第一天相關的資料

熱點內容
php數組傳遞給js 瀏覽:639
在世紀的轉折點上pdf 瀏覽:856
變頻製冷壓縮機性能實驗 瀏覽:574
印刷哪個app好 瀏覽:366
安卓手機如何查看連接過的wifi密碼 瀏覽:460
chrpythonord 瀏覽:353
android切片 瀏覽:230
前端js調用php 瀏覽:590
文件夾res是什麼 瀏覽:488
linuxput命令 瀏覽:931
智能仿生演算法模擬退火 瀏覽:903
汽車辦解壓能代辦嗎 瀏覽:12
美林程序員 瀏覽:841
安卓如何開網路 瀏覽:730
宿來app什麼時候上線 瀏覽:764
成都python培訓機構好不好 瀏覽:421
mysql查看配置命令 瀏覽:597
v8編譯cmake 瀏覽:965
app品牌起步階段需要什麼營銷 瀏覽:358
壓縮機製冷劑溫度 瀏覽:930