網頁 貼吧 文章 作者 工作  
網頁搜尋
 
 愛PO吧 >> 蒼井空免費影片 >> 瀏覽文章
回覆 加入我的最愛 與好友分享

JAVA 某週的起日期與結束日期

本被文章 0 次, 共有回覆 2  
0
 
0
最近花了不少時間在日期的取得上= =
只能說自已…功力不足…

問題是這樣的
我想知道某日期的該週其起訖日期為何
爬文看了好久,終於找到JAVA的寫法了
JSP和JAVA語法一模沒兩樣,改一下就OK了
語法如下:

[hr]

/**
* 根據輸入的年月週數來取該周首天
* @param year 年份(> 0)
* @param month 月份(1-12)
* @param week 當月週數(1-5)
* @return 該周第一天(週日)
*/
public static void getFirstDayByMonthWeek(int year,int month,int week){
if (year <= 0){
System.out.println( "年份要大於0! ");
return;
}
if (month < 1 || month > 12){
System.out.println( "月份要[1-12]! ");
return;
xyz資訊工坊
}
if (week < 1 || week > 5){
System.out.println( "周要[1-5]! ");
return;
}
DateFormat df = new SimpleDateFormat( "yyyy-MM-dd ");
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.WEEK_OF_MONTH,week);
//取得當月最後一天
int lastday = getTheLastDay(year,month);
if (lastday <= (week-1)*7){
System.out.println( "該月沒有第[ " + week + "]周! ");
return;
}
xyz//取得?周第一天的weekday(周日=1)
int firstDayofweek = c.getFirstDayOfWeek();
int lastDayofweek = firstDayofweek + 6;

//該周第一天日期
Calendar c1 = Calendar.getInstance();
c1.set(Calendar.YEAR, year);
c1.set(Calendar.MONTH, month - 1);
c1.set(Calendar.WEEK_OF_MONTH,week);
c1.set(Calendar.DAY_OF_WEEK, firstDayofweek);
Date d1 = new Date(c1.getTimeInMillis());
System.out.println( "該周第一天是[ " + df.format(d1) + "] ");

//該周最後一天日期
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.YEAR, year);
c2.set(Calendar.MONTH, month - 1);
c2.set(Calendar.WEEK_OF_MONTH,week);
c2.set(Calendar.DAY_OF_WEEK, lastDayofweek);
Date d2 = new Date(c2.getTimeInMillis());
System.out.println( "該周最後一天是[ " + df.format(d2) + "] ");
}

記得在JSP import時,要import 三個class,
java.text.* (SimpleDateFormat用)
java.util.Date (因為同時import java.sql.* 及 java.util.* 時,使用Date 會有error,因此只要加入xyz軟體補給站
java.util.Date 就可以了)
java.util.* (Calendar 用)


[hr]


延申閱讀
取得本月的第一天和最后一天
要取得本月的第一天和最後一天可以使用Calendar.roll來達成

1 // 本月的第一天
2 Calendar calendar = new GregorianCalendar();
3 calendar.set( Calendar.DATE, 1 );
4 SimpleDateFormat simpleFormate = new SimpleDateFormat( " yyyy-MM-dd " );
5 System.out.println(simpleFormate.format(calendar.getTime()));
6
7 // 本月的最后一天
8 Calendar calendar = new GregorianCalendar();
9 calendar.set( Calendar.DATE, 1 );
10 calendar.roll(Calendar.DATE, - 1 );
11 SimpleDateFormat simpleFormate = new SimpleDateFormat( " yyyy-MM-dd " );
12 System.out.println(simpleFormate.format(calendar.getTime()));

逛上一篇:   逛下一篇:

作者: lwklvint
  (2010-04-30 20:48)
推薦文章: 將本文章推薦到【百度收藏】 將本文章推薦到【YouPush】 將本文章推薦到【udn共享書籤】 將本文章推薦到【Fiigo】書籤

 本文章共有回覆 2 篇,分 1 頁
 聲明:以上內容不代表本站立場,且內容由網友發表提供,若有爭議或違法由發表者承擔,本站將不負責連帶責任,謝謝。

 IPoBar  愛PK  愛遊戲  愛online
新手教學 客服中心 站務公告 交換連結 合作提案 關於我們
 
版權所有©ipobar Ltd., All Rights Reserved.
論壇內會員言論僅代表個人觀點,不代表本站同意其說法,本討論區不承擔由該言論所引起的法律責任