oracle現在の日付を表示するのは数週間目の方法です
2294 ワード
システムの現在の時間は何週間ですか.今年の数週間目です.
wwのアルゴリズムは毎年1月1日が最初の週から、date+6が毎週末になります
例えば、20050101は第1週の初日であり、第1週の最終日は20050101+6=20050107である
式:週1日目:date+週*7-7週末日:date+週*7-12)
iwのアルゴリズムは月曜日から日曜日まで1週間で、毎年の最初の月曜日が最初の週です.
例えば、20050101は土曜日なのでiwのアルゴリズムでは一昨年の53週、20050103以降が最初の週の始まりです.
式:週1日目:next_day(date)+週*7-7週末日:next_day(date)+週*7-13)
その他:
A、今日は「今月」の何週目のSELECT TO_CHAR(SYSDATE,'WW') - TO_CHAR(TRUNC(SYSDATE,'MM'),'WW') + 1 AS "weekOfMon"from dual;またはSELECT TO_CHAR(SYSDATE,'W') AS "weekOfMon"from dual;
B、今日は「今年」の何週目か調べるchar(sysdate,'ww') from dual;またはselect to_char(sysdate,'iw') from dual;
どの年とどの週のどの日を統計しますか.
select to_char(sysdate,'ww') ,to_char(sysdate,'iw') from dual;
select to_char(sysdate,'ddd') from dual;
select TRUNC(SYSDATE,'MM') from dual;1)
wwのアルゴリズムは毎年1月1日が最初の週から、date+6が毎週末になります
例えば、20050101は第1週の初日であり、第1週の最終日は20050101+6=20050107である
式:週1日目:date+週*7-7週末日:date+週*7-12)
iwのアルゴリズムは月曜日から日曜日まで1週間で、毎年の最初の月曜日が最初の週です.
例えば、20050101は土曜日なのでiwのアルゴリズムでは一昨年の53週、20050103以降が最初の週の始まりです.
式:週1日目:next_day(date)+週*7-7週末日:next_day(date)+週*7-13)
その他:
A、今日は「今月」の何週目のSELECT TO_CHAR(SYSDATE,'WW') - TO_CHAR(TRUNC(SYSDATE,'MM'),'WW') + 1 AS "weekOfMon"from dual;またはSELECT TO_CHAR(SYSDATE,'W') AS "weekOfMon"from dual;
B、今日は「今年」の何週目か調べるchar(sysdate,'ww') from dual;またはselect to_char(sysdate,'iw') from dual;
どの年とどの週のどの日を統計しますか.
int year=2011;
int week=1;
Calendar calFirstDayOfTheYear = new GregorianCalendar(year,
Calendar.JANUARY, 1);
calFirstDayOfTheYear.add(Calendar.DATE, 7 * (week-1));
int dayOfWeek = calFirstDayOfTheYear.get(Calendar.DAY_OF_WEEK);
Calendar calFirstDayInWeek = (Calendar)calFirstDayOfTheYear.clone();
calFirstDayInWeek.add(Calendar.DATE,
calFirstDayOfTheYear.getActualMinimum(Calendar.DAY_OF_WEEK) - dayOfWeek);
Date firstDayInWeek = calFirstDayInWeek.getTime();
System.out.println(year + " " + week + " " + ReportDateUtil.getFromatDay().format(firstDayInWeek));
Calendar calLastDayInWeek = (Calendar)calFirstDayOfTheYear.clone();
calLastDayInWeek.add(Calendar.DATE,
calFirstDayOfTheYear.getActualMaximum(Calendar.DAY_OF_WEEK) - dayOfWeek);
Date lastDayInWeek = calLastDayInWeek.getTime();
System.out.println(year + " " + week + " " + ReportDateUtil.getFromatDay().format(lastDayInWeek));