在Calendar 类里面有如下方法。
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
Field number for get and set indicating the week number within the current month. The first week of the month, as defined by getFirstDayOfWeek() and getMinimalDaysInFirstWeek(), has value 1. Subclasses define the value of WEEK_OF_MONTH for days before the first week of the month.
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
Field number for get and set indicating the week number within the current month. The first week of the month, as defined by getFirstDayOfWeek() and getMinimalDaysInFirstWeek(), has value 1. Subclasses define the value of WEEK_OF_MONTH for days before the first week of the month.
解决方案 »
- 刚接触while循环,问两个菜鸟问题。。
- 用JAVA做出来的窗体关不掉
- 关于 InetAddress类的问题
- 关于“加载”的问题。(初学者问题)
- 如何用JDK编译并运行一个工程项目程序???
- ~~~聊天小项目 求解
- tomcat4.1.12连接池(DBCP模式配置),具难问题,低手莫进(解决立刻给分,不够另外开帖24小时在线等待)!
- 主 题: win2000server装了JAVA1.2.1后,老是提示,在使用中插拔了硬件,蓝屏死机
- 关于classpath的问题
- jdk缺失?AOSP源码Parcel类引用jdk中没有的方法
- 一个 IO 流的问题
- !!!!!!!!!!!!!!!!!!!!help me给出详细的解释谢谢各位!!!!!!!
==========================
package maxpain.dates;import java.text.DateFormat;
import java.util.*;public class JspCalendar {
Calendar calendar = null; public JspCalendar() {
calendar = Calendar.getInstance();
Date trialTime = new Date();
calendar.setTime(trialTime);
} public int getYear() {
return calendar.get(Calendar.YEAR);
}
public String getMonth() {
int m = getMonthInt();
String[] months = new String [] { "1", "2", "3",
"4", "5", "6",
"7", "8", "9",
"10", "11", "12" };
if (m > 12)
return "Unknown to Man";
return months[m - 1]; } public String getDay() {
int x = getDayOfWeek();
String[] days = new String[] {"1", "2", "3",
"4", "5", "6","7"}; if (x > 7)
return "Unknown to Man"; return days[x - 1]; }
public int getMonthInt() {
return 1 + calendar.get(Calendar.MONTH);
} public String getDate() {
return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); } public String getTime() {
return getHour() + ":" + getMinute() + ":" + getSecond();
} public int getDayOfMonth() {
return calendar.get(Calendar.DAY_OF_MONTH);
} public int getDayOfYear() {
return calendar.get(Calendar.DAY_OF_YEAR);
} public int getWeekOfYear() {
return calendar.get(Calendar.WEEK_OF_YEAR);
} public int getWeekOfMonth() {
return calendar.get(Calendar.WEEK_OF_MONTH);
} public int getDayOfWeek() {
return calendar.get(Calendar.DAY_OF_WEEK)-1;
}
public int getHour() {
return calendar.get(Calendar.HOUR_OF_DAY);
}
public int getMinute() {
return calendar.get(Calendar.MINUTE);
}
public int getSecond() {
return calendar.get(Calendar.SECOND);
} public static void main(String args[]) {
JspCalendar db = new JspCalendar();
p("date: " + db.getDayOfMonth());
p("year: " + db.getYear());
p("month: " + db.getMonth());
p("time: " + db.getTime());
p("date: " + db.getDate());
p("Day: " + db.getDay());
p("DayOfYear: " + db.getDayOfYear());
p("WeekOfYear: " + db.getWeekOfYear());
p("era: " + db.getEra());
p("ampm: " + db.getAMPM());
p("DST: " + db.getDSTOffset());
p("ZONE Offset: " + db.getZoneOffset());
p("TIMEZONE: " + db.getUSTimeZone());
} private static void p(String x) {
System.out.println(x);
}
public int getEra() {
return calendar.get(Calendar.ERA);
} public String getUSTimeZone() {
String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
"Mountain", "Central", "Eastern"};
return zones[10 + getZoneOffset()];
} public int getZoneOffset() {
return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
}
public int getDSTOffset() {
return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
}
public int getAMPM() {
return calendar.get(Calendar.AM_PM);
}
}
gc.setTime(new java.util.Date());
gc.get(gc.DAY_OF_WEEK_IN_MONTHDAY_OF_WEEK);
gc.setTime(new java.util.Date());
gc.get(gc.DAY_OF_WEEK_IN_MONTHDAY);
int currentDay=dt.getDay();
int currentYear=dt.getYear(); GregorianCalendar calDate = new GregorianCalendar();
calDate = new GregorianCalendar(currentYear+1900,currentMonth,currentDay); int week =calDate.get(Calendar.WEEK_OF_MONTH);
class a{
public static void main(String args[]){
Calendar MyDate = Calendar.getInstance();
MyDate.setTime(new java.util.Date());
MyDate.get(MyDate.WEEK_OF_MONTH);
System.out.println("一个月里面第" + MyDate.get(MyDate.WEEK_OF_MONTH) +"星期");
}
}
多谢你,但是为什么有的时候会出来第5周啊???
这里不能加一,因为java里的月份是从0-11的,你要是加一后,在用calDate = new GregorianCalendar(currentYear+1900,currentMonth,currentDay);
这个实例花一个date对象,当然出错了。