请问:如何得到某年某月的的第一周是这一年的第几周!请高手指教!谢谢!

minger214 2004-11-22 03:23:57
请问:如何得到某年某月的第一周是这一年的第几周!请高手指教!谢谢!
...全文
179 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Figgo 2004-11-24
  • 打赏
  • 举报
回复
Good Man
minger214 2004-11-22
  • 打赏
  • 举报
回复
我自己写了一个更简单的:
public int getFirstWeek(int year,int month) throws Exception {
try{
java.util.Calendar calendar = new java.util.GregorianCalendar(year,month,1);
int firstWeek = calendar.get(Calendar.WEEK_OF_YEAR);
return firstWeek;
}
catch(Exception e) {
throw new Exception (e.toString());
}
}
Figgo 2004-11-22
  • 打赏
  • 举报
回复
import java.text.DateFormat;
import java.util.*;
public class DateTools{
public static int getWeekNum(int year,int month) throws Exception
{
try{
java.util.GregorianCalendar gc=new java.util.GregorianCalendar();
DateFormat df=DateFormat.getDateInstance(DateFormat.SHORT, Locale.PRC);
Date theDate=df.parse(year+"-"+month+"-1");
gc.setTime(theDate);
return gc.get(Calendar.WEEK_OF_YEAR);
}
catch(Exception e)
{
throw new Exception (e.toString());
}
}
public static void main(String[] args)
{
try{
System.out.println(DateTools.getWeekNum(2004,5));
}
catch(Exception e)
{
System.out.print(e.toString());
}
}
}
arfue 2004-11-22
  • 打赏
  • 举报
回复
可以用get(Calendar.WEEK_OF_YEAR)函数
hqcsx 2004-11-22
  • 打赏
  • 举报
回复
有函数的.你可以自己搜一下.
<%
ww=DatePart("ww",Date())
%>
这个是今天是本年的第几周.
chinamao 2004-11-22
  • 打赏
  • 举报
回复
上面这个文章,是我转贴的,
chinamao 2004-11-22
  • 打赏
  • 举报
回复
这是我写的一个类专门处理有关时间的问题


java.util.GregorianCalendar[time=1100153350595,areFieldsSet=true,areAllFieldsSet=true,lenient=true,
zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,
transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,
ERA=1,YEAR=2004,MONTH=10,WEEK_OF_YEAR=46,WEEK_OF_MONTH=2,DAY_OF_MONTH=11,
DAY_OF_YEAR=316,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,
MINUTE=9,SECOND=10,MILLISECOND=595,ZONE_OFFSET=28800000,DST_OFFSET=0]


package pbcenter.util;

import java.util.Calendar;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;

/**
* Utility to date time
* @version 0.1
* @author Super Zhao
*/
public class DateTimeUtil {

/**
* 由java.util.Date到java.sql.Date的类型转换
* @param date
* @return Date
*/
public static Date getSqlDate(java.util.Date date){
return new Date(date.getTime());
}

public static Date nowDate(){
Calendar calendar=Calendar.getInstance();
return getSqlDate(calendar.getTime());
}

/**
* 获得某一日期的后一天
* @param date
* @return Date
*/
public static Date getNextDate(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
int day=calendar.get(Calendar.DATE);
calendar.set(Calendar.DATE,day+1);
return getSqlDate(calendar.getTime());
}

/**
* 获得某一日期的前一天
* @param date
* @return Date
*/
public static Date getPreviousDate(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
int day=calendar.get(Calendar.DATE);
calendar.set(Calendar.DATE,day-1);
return getSqlDate(calendar.getTime());
}

/**
* 获得某年某月第一天的日期
* @param year
* @param month
* @return Date
*/
public static Date getFirstDayOfMonth(int year,int month){
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month-1);
calendar.set(Calendar.DATE,1);
return getSqlDate(calendar.getTime());
}

/**
* 获得某年某月最后一天的日期
* @param year
* @param month
* @return Date
*/
public static Date getLastDayOfMonth(int year,int month){
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
calendar.set(Calendar.DATE,1);
return getPreviousDate(getSqlDate(calendar.getTime()));
}

/**
* 由年月日构建java.sql.Date类型
* @param year
* @param month
* @param date
* @return Date
*/
public static Date buildDate(int year,int month,int date){
Calendar calendar=Calendar.getInstance();
calendar.set(year,month-1,date);
return getSqlDate(calendar.getTime());
}

/**
* 取得某月的天数
* @param year
* @param month
* @return int
*/
public static int getDayCountOfMonth(int year,int month){
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
calendar.set(Calendar.DATE,0);
return calendar.get(Calendar.DATE);
}

/**
* 获得某年某季度的最后一天的日期
* @param year
* @param quarter
* @return Date
*/
public static Date getLastDayOfQuarter(int year,int quarter){
int month=0;
if(quarter>4){
return null;
}else{
month=quarter*3;
}
return getLastDayOfMonth(year,month);

}

/**
* 获得某年某季度的第一天的日期
* @param year
* @param quarter
* @return Date
*/
public static Date getFirstDayOfQuarter(int year,int quarter){
int month=0;
if(quarter>4){
return null;
}else{
month=(quarter-1)*3+1;
}
return getFirstDayOfMonth(year,month);
}

/**
* 获得某年的第一天的日期
* @param year
* @return Date
*/
public static Date getFirstDayOfYear(int year){
return getFirstDayOfMonth(year,1);
}

/**
* 获得某年的最后一天的日期
* @param year
* @return Date
*/
public static Date getLastDayOfYear(int year){
return getLastDayOfMonth(year,12);
}

/**
* String到java.sql.Date的类型转换
* @param param
* @return Date
*/
public static java.sql.Date StringToDate(String param) {
if(StringUtil.nullOrBlank(param)) {
return null;
} else {
java.util.Date date =null;
try {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
date = sdf.parse(param);
return new Date(date.getTime());
}
catch (ParseException ex) {
//ex.printStackTrace();
return null;
}
}
}
}

ltzperson 2004-11-22
  • 打赏
  • 举报
回复
up
jintaocom 2004-11-22
  • 打赏
  • 举报
回复
取该月的第一天 和 该年的第一天相距的天数。 这个总会吧?
再用天数整除7。 再加 1 。 自己算算。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧