首页编程javacalendar(java 中Calendar.getInstance() 实现的是什么)

javacalendar(java 中Calendar.getInstance() 实现的是什么)

编程之家2023-11-05199次浏览

大家好,关于javacalendar很多朋友都还不太明白,今天小编就来为大家分享关于java 中Calendar.getInstance() 实现的是什么的知识,希望对各位有所帮助!

javacalendar(java 中Calendar.getInstance() 实现的是什么)

java Date Calendar 区别

JAVA中 Date和 Calendar区别在于:

Date用于记录某一个含日期的、精确到毫秒的时间。重点在代表一刹那的时间本身。

Calendar用于将某一日期放到历法中的互动——时间和年、月、日、星期、上午、下午、夏令时等这些历法规定互相作用关系和互动。Calendar本身代表公历的一个简化缩水版,姑且叫“计算机历”。完整的公历是格里高利历,Java SE中以GregorianCalendar类来提供相关的历法功能。

Java中日历类(CalendarClass)的用途

Java中日历类(Calendar类)的用途如下:

Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now= Calendar.getInstance();

可以使用下面三个方法把日历定到任何一个时间:

javacalendar(java 中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);//获得这个星期的第几天

javacalendar(java 中Calendar.getInstance() 实现的是什么)

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)){//swapdatessothatd1isstartandd2isend

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.month有什么用

package pack.java.calendar.demo;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;

public class CalendarDemo{

private static SimpleDateFormat date_format= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

public static void main(String[] args){

//获取calendar实例;

Calendar calendar= Calendar.getInstance();

//判断calendar是不是GregorianCalendar类的实例;

if(calendar instanceof GregorianCalendar){

System.out.println("属于GregorianCalendar类的实例!");

}

//从calendar对象中获得date对象,当前时间;

Date dates= calendar.getTime();

//格式化时间;

String date_str= date_format.format(dates);

System.out.println(date_str);

//设置月份05;代表日历的月份6月,因为月份从0开始。

calendar.set(Calendar.MONTH, 05);

int months= calendar.get(Calendar.MONTH);

System.out.println(months);//输出05;

//设置日期为2011-07-24 09:59:50

calendar.set(2011, 06, 24, 9, 59, 50);

String getDate= date_format.format(calendar.getTime());

System.out.println(getDate);//输出2011-07-24 09:59:50;

//比较日前大小;

if(new Date().getTime()> calendar.getTimeInMillis()){

System.out.println("当前日期在后!");

}else{

System.out.println("当前日期在前!");

}

//设置当前时间为:2011-07-24 11:06:00

calendar.setTime(new Date());

int year= calendar.get(Calendar.YEAR);//获取年;

int month= calendar.get(Calendar.MONTH);//获取月;

int date= calendar.get(Calendar.DATE);//获取天;

int hour= calendar.get(Calendar.HOUR);//获取小时;

int minute= calendar.get(Calendar.MINUTE);//获取分钟;

int second= calendar.get(Calendar.SECOND);//获取秒钟;

int hour_of_day= calendar.get(Calendar.HOUR_OF_DAY);//第几个小时,

int day_of_month= calendar.get(Calendar.DAY_OF_MONTH);//这天,在一个月内是第几天.

int day_of_week= calendar.get(Calendar.DAY_OF_WEEK);//这天,在一周内,是第几天.

int day_of_year= calendar.get(Calendar.DAY_OF_YEAR);//这天,在一年内,是第几天。

int week_of_year= calendar.get(Calendar.WEEK_OF_YEAR);//这周,在一年内是第几周;

int week_of_month= calendar.get(Calendar.WEEK_OF_MONTH);//这周,在这个月是第几周;以以星为标准;

int zone_offset= calendar.get(Calendar.ZONE_OFFSET);//获取时区;

int day_of_week_in_month= calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);//某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。以月份天数为标准

int r= calendar.get(Calendar.AM_PM);

if(r==calendar.AM){

System.out.println("现在是上午");

}

if(r==calendar.PM){

System.out.println("现在是下午");

}

System.out.println("==================================================");

System.out.println(year);

System.out.println(month);

System.out.println(date);

System.out.println(hour);

System.out.println(minute);

System.out.println(second);

System.out.println(hour_of_day);

System.out.println(day_of_month);

System.out.println(day_of_week);

System.out.println(day_of_year);

System.out.println(week_of_year);

System.out.println(week_of_month);

System.out.println(zone_offset);

System.out.println(day_of_week_in_month);

}

}

java 中Calendar.getInstance() 实现的是什么

java中calendar.getinstance()和new

date()的差别如下:

calendar.getinstance()是获取一个calendar对象并可以进行时间的计算,时区的指定

new

date()是创建了一个date对象,默认是utc格式的。

二者可以相互转化:

calendar

calendar

=

calendar.getinstance();

//

从一个

calendar

对象中获取

date

对象

date

date

=

calendar.gettime();

//

date

对象反应到一个

calendar

对象中,

//

calendar/gregoriancalendar

没有构造函数可以接受

date

对象

//

所以我们必需先获得一个实例,然后设置

date

对象

calendar.settime(date);

关于javacalendar到此分享完毕,希望能帮助到您。

sub-process?solidworkscefsubprocess是什么background-color?CSS中的colorbackground-color有什么区别