‘壹’ java calendar 时间
1、计算某一月份的最大天数
Calendartime=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year);
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认核庆一月为0
intday=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统孝贺当前时间。
2、Calendar和Date的转化
(1) Calendar转化为Date
Calendarcal=Calendar.getInstance();
Datedate=cal.getTime();
(2) Date转化为Calendar
Datedate=newDate();
Calendarcal=Calendar.getInstance();
cal.setTime(date);
3、格式化输出日期时间
Datedate=newDate();
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");
System.out.println(df.format(date));
4、计算一年中的第几星期
(1)计算某一天是一年中的第几星期
Calendarcal=Calendar.getInstance();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.MONTH,8);
cal.set(Calendar.DAY_OF_MONTH,3);
intweekno=cal.get(Calendar.WEEK_OF_YEAR);
(2)计算一年中的第几星期是几号巧氏派
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-dd");
Calendarcal=Calendar.getInstance();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.WEEK_OF_YEAR,1);
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
System.out.println(df.format(cal.getTime()));
‘贰’ java中calendar确定星期几的问题
这里有三个有关的类。第一个date类,第二个calendar
类,第三个dateformat类。date类创建的时间的用一个很大的毫秒数来表示的。即从1970年1月1日到你初始化的日期所走过的毫秒数。伏闷裂而这个数的范围现在已经出现危机了,好像是到2020年就超范围了。date
类可以单独的设日期,设时间。calendar
类可以从一个date类实例创建一个日历对象,日历简单说就是能够将一个整数通过计算转化成某年某罩乱月某日的,而不用我们去考虑哪一年少一天多一缺闭天这样的复杂情况。所以你更改了date对象的日期日间后,再用它创建日历对象即可,同时,日历对象是共享对象类(通过getinstance()静态函数获得的唯一对象,不存在多个实例。)
dateformate类则是将获得的年月日用一个格式表示出来。不存在修改日期值的方法。
‘叁’ Java中日历类(CalendarClass)的用途
Java中日历类(Calendar类)的用途如下:
Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now = Calendar.getInstance();
可以使用下面三个方法把日历定到任何一个时间:
set(intyear,intmonth,intdate);
set(intyear,intmonth,intdate,inthour,intminute);
set(intyear,intmonth,intdate,inthour,intminute,intsecond);
如果想获得年份、月份、小时等信息可以使用:
Now.get(Calendar.Month);//这样的方法0表示一月,1表示二月
get(Calendar.DAY_OF_MONTH);//获得这个月的第几天
get(Calendar.DAY_OF_WEEK);//获得这个星期的第几天
get(Calendar.DAY_OF_YEAR);//获得这个年的第几天
getTimeMillis();//获得当前时间的毫秒表示
1.计算某一月份的最大天数
Calendartime=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year);
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
intday=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
2.Calendar和Date的转化
(1) Calendar转化为Date
Calendarcal=Calendar.getInstance();
Datedate=cal.getTime();
(2) Date转化为Calendar
Datedate=newDate();
Calendarcal=Calendar.getInstance();
cal.setTime(date);
3.格式化输出日期时间
Datedate=newDate();
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");
System.out.println(df.format(date));
4.计算相隔天数的方法
publicintgetDaysBetween(Calendard1,Calendard2){
if(d1.after(d2)){//
java.util.Calendarswap=d1;
d1=d2;
d2=swap;
}
intdays=d2.get(Calendar.DAY_OF_YEAR)-d1.get(Calendar.DAY_OF_YEAR);
inty2=d2.get(Calendar.YEAR);
if(d1.get(Calendar.YEAR)!=y2){
d1=(Calendar)d1.clone();
do{
days+=d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR,1);
}while(d1.get(Calendar.YEAR)!=y2);
}
returndays;
}
‘肆’ java中的Calendar.DATE和Calendar.DAY_OF_MONTH有什么区别
Calendar.DATE: 获取日期,包含年月日。
Calendar.DAY_OF_MONTH :获取月份中的某一天。
‘伍’ java中的Calendar如何使用
package pack.java.calendar.demo; x0dx0a x0dx0aimport java.text.SimpleDateFormat; x0dx0aimport java.util.Calendar; x0dx0aimport java.util.Date; x0dx0aimport java.util.GregorianCalendar; x0dx0a x0dx0apublic class CalendarDemo { x0dx0a private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); x0dx0a public static void main(String[] args) { x0dx0a x0dx0a //获取calendar实例; x0dx0a Calendar calendar = Calendar.getInstance(); x0dx0a x0dx0a //判断calendar是不是GregorianCalendar类的实例; x0dx0a if(calendar instanceof GregorianCalendar){ x0dx0a System.out.println("属于GregorianCalendar类的实例!"); x0dx0a } x0dx0a x0dx0a //从calendar对象中获得date对象,当前时间; x0dx0a Date dates = calendar.getTime(); x0dx0a x0dx0a //格式化中隐时间; x0dx0a String date_str= date_format.format(dates); x0dx0a System.out.println(date_str); x0dx0a x0dx0a //设置月份05;代表日历的月份6月,因为月份从0开始。 x0dx0a calendar.set(Calendar.MONTH, 05); x0dx0a x0dx0a int months = calendar.get(Calendar.MONTH); x0dx0a System.out.println(months); //输出05; x0dx0a x0dx0a //设置日期为2011-07-24 09:59:50 x0dx0a calendar.set(2011, 06, 24, 9, 59, 50); x0dx0a String getDate = date_format.format(calendar.getTime()); x0dx0a System.out.println(getDate); //输出2011-07-24 09:59:50; x0dx0a x0dx0a //比较日前大小; x0dx0a if(new Date().getTime() > calendar.getTimeInMillis()){ x0dx0a System.out.println("当前日期在后!"); x0dx0a }else{ x0dx0a System.out.println("当前衫念日期或培困在前!"); x0dx0a } x0dx0a x0dx0a //设置当前时间为:2011-07-24 11:06:00 x0dx0a calendar.setTime(new Date()); x0dx0a int year = calendar.get(Calendar.YEAR); //获取年; x0dx0a int month = calendar.get(Calendar.MONTH); //获取月; x0dx0a int date = calendar.get(Calendar.DATE); //获取天; x0dx0a int hour = calendar.get(Calendar.HOUR); //获取小时; x0dx0a int minute = calendar.get(Calendar.MINUTE); //获取分钟; x0dx0a int second = calendar.get(Calendar.SECOND); //获取秒钟; x0dx0a int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY); //第几个小时, x0dx0a int day_of_month = calendar.get(Calendar.DAY_OF_MONTH); //这天,在一个月内是第几天. x0dx0a int day_of_week = calendar.get(Calendar.DAY_OF_WEEK); //这天,在一周内,是第几天. x0dx0a int day_of_year = calendar.get(Calendar.DAY_OF_YEAR); //这天,在一年内,是第几天。 x0dx0a int week_of_year = calendar.get(Calendar.WEEK_OF_YEAR); //这周,在一年内是第几周; x0dx0a int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);//这周,在这个月是第几周;以以星为标准; x0dx0a int zone_offset = calendar.get(Calendar.ZONE_OFFSET); //获取时区; x0dx0a int day_of_week_in_month = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); //某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。以月份天数为标准 x0dx0a int r = calendar.get(Calendar.AM_PM); x0dx0a if(r==calendar.AM){ x0dx0a System.out.println("现在是上午"); x0dx0a } x0dx0a x0dx0a if(r==calendar.PM){ x0dx0a System.out.println("现在是下午"); x0dx0a } x0dx0a System.out.println("=================================================="); x0dx0a System.out.println(year); x0dx0a System.out.println(month); x0dx0a System.out.println(date); x0dx0a System.out.println(hour); x0dx0a System.out.println(minute); x0dx0a System.out.println(second); x0dx0a System.out.println(hour_of_day); x0dx0a System.out.println(day_of_month); x0dx0a System.out.println(day_of_week); x0dx0a System.out.println(day_of_year); x0dx0a System.out.println(week_of_year); x0dx0a System.out.println(week_of_month); x0dx0a System.out.println(zone_offset); x0dx0a System.out.println(day_of_week_in_month); x0dx0a } x0dx0a}