「java处理日期的类」java中操作日期的类有哪些

博主:adminadmin 2023-01-04 11:06:09 831

本篇文章给大家谈谈java处理日期的类,以及java中操作日期的类有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java.util包提供了math类用于处理时间和日期对吗?

您好,math包是用于数学计算的。处理时间和日期的包有Date LocalDate LocalDateTime Calender

date在java中用什么类型

java语言中的date类介绍及使用

在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。

1、使用Date类代表当前系统时间

Date d = new Date();

System.out.println(d);

使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下:

Sun Mar 08 16:35:58 CST 2009

在该格式中,Sun代表Sunday(周日),Mar代表March(三月),08代表8号,CST代表China Standard Time(中国标准时间,也就是北京时间(东八区))。

2、使用Date类代表指定的时间

Date d1 = new Date(2009-1900,3-1,9);

System.out.println(d1);

使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。例如上面的示例代码代表就是2009年3月9号。

实际代表具体的年月日时分秒的日期对象,和这个类似。

3、获得Date对象中的信息

Date d2 = new Date();

//年份

int year = d2.getYear() + 1900;

//月份

int month = d2.getMonth() + 1;

//日期

int date = d2.getDate();

//小时

int hour = d2.getHours();

//分钟

int minute = d2.getMinutes();

//秒

int second = d2.getSeconds();

//星期几

int day = d2.getDay();

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("星期:" + day);

使用Date类中对应的get方法,可以获得Date类对象中相关的信息,需要注意的是使用getYear获得是Date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900,月份类似。在Date类中还提供了getDay方法,用于获得Date对象代表的时间是星期几,Date类规定周日是0,周一是1,周二是2,后续的依次类推。

4、Date对象和相对时间之间的互转

Date d3 = new Date(2009-1900,3-1,10);

long time = 1290876532190L;

//将Date类的对象转换为相对时间

long t = d3.getTime();

System.out.println(t);

//将相对时间转换为Date类的对象

Date d4 = new Date(time);

System.out.println(d4);

使用Date对象中的getTime方法,可以将Date类的对象转换为相对时间,使用Date类的构造方法,可以将相对时间转换为Date类的对象。经过转换以后,既方便了时间的计算,也使时间显示比较直观了。

用java定义一个日期类,急!!!

class MyDate{

public int year,month,day;

public MyDate(MyDate date){

year=date.year;

month=date.month;

day=date.day;

}

public boolean isLeapYear(){

return (((year%4==0)(year%100!=0))||(year%400==0));

}

public MyDate(int y,int m,int d){

year=y;

month=m;

day=d;

if(((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))((day1)||(day31))) System.out.println("wrong date");

if(((month==4)||(month==6)||(month==9)||(month==11))((day1)||(day30))) System.out.println("wrong date");

if(month==2){

if(isLeapYear()((day1)||(day29))) System.out.println("wrong date");

if(!isLeapYear()((day1)||(day28))) System.out.println("wrong date");

}

}

public boolean equal(MyDate date){

return (year==date.year month==date.month day==date.day);

}

public void incrementDay(){

if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)){

int flag=0;

if(day==31){month+=1;flag=1;}

if((day=30)(day=1)){day+=1;}

if(flag==1) day=1;

flag=0;

}

if((month==4)||(month==6)||(month==9)||(month==11)){

int flag=0;

if(day==30){month+=1;flag=1;}

if((day=29)(day=1)){day+=1;}

if(flag==1) day=1;

flag=0;

}

if(month==12){

int flag=0;

if(day==31){year+=1;month=1;flag=1;}

if((day=1)(day=30)){day+=1;}

if(flag==1) day=1;

flag=0;

}

if(month==2){

int flag=0;

if(isLeapYear()){

if(day==29){month+=1;flag=1;}

if((day=28)(day=1)){day+=1;}

if(flag==1) day=1;

flag=0;

}

else{

if(day==28){month+=1;flag=1;}

if((day=27)(day=1)){day+=1;}

if(flag==1) day=1;

flag=0;

}

}

}

public int getYear(){

return year;

}

public int getMonth(){

return month;

}

public int getDay(){

return day;

}

public String toString(){

return (year+"-"+month+"-"+day);

}

}

public class Mytest{

public static void main(String[] test){

MyDate date1=new MyDate(2000,2,28);

MyDate date2=new MyDate(2006,12,31);

MyDate date3=new MyDate(date2);

System.out.println(date3.equal(date2));

date1.incrementDay();

System.out.println(date1.getYear()+" "+date1.getMonth()+" "+date1.getDay());

System.out.println(date1.toString());

date2.incrementDay();

System.out.println(date2.getYear()+" "+date2.getMonth()+" "+date2.getDay());

System.out.println(date2.toString());

}

}

java日期处理

"Thu Aug 20 12:15:10 CST 2009" 是Date默认的格式.

1.如果是把Date类型用"20090820"格式表示,可参考下面的代码:

Date date=new Date();

df = new SimpleDateFormat("yyyyMMdd");

String str = df.format(date);// 获得格式化后的日期字符串

System.err.println(str);// 打印最终结果

2.如果只是需要把一个这种类型的字符串转化为"20090820",可参考下面的代码:

try {

Date date;

// 首先准备好"Thu Aug 20 12:15:10 CST 2009"的格式

// 用来将其转化为Date对象

DateFormat df = new SimpleDateFormat(

"EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

date = df.parse("Thu Aug 20 12:15:10 CST 2009");

// 创建所需的格式

df = new SimpleDateFormat("yyyyMMdd");

String str = df.format(date);// 获得格式化后的日期字符串

System.err.println(str);// 打印最终结果

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Java中日历类(CalendarClass)的用途?

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

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

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

     set(int year ,int month,int date)  ;

     set(int year ,int month,int date,int hour,int minute) ;

     set(int year ,int month,int date,int hour,int minute,int second) ;

如果想获得年份、月份、小时等信息可以使用:  

      Now.get(Calendar.Month);//这样的方法 0表示一月,1表示二月  

     get(Calendar.DAY_OF_MONTH);//获得这个月的第几天

     get(Calendar.DAY_OF_WEEK);//获得这个星期的第几天 

     get(Calendar.DAY_OF_YEAR);//获得这个年的第几天  

       getTimeMillis();//获得当前时间的毫秒表示

1.计算某一月份的最大天数

    Calendar time=Calendar.getInstance(); 

    time.clear(); 

    time.set(Calendar.YEAR,year); 

    time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0             

    int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数

    注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间

    2.Calendar和Date的转化

    (1) Calendar转化为Date

    Calendar cal=Calendar.getInstance();

    Date date=cal.getTime();

    (2) Date转化为Calendar

    Date date=new Date();

    Calendar cal=Calendar.getInstance();

    cal.setTime(date);

    3.格式化输出日期时间

    Date date=new Date();

    SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    System.out.println(df.format(date));

4.计算相隔天数的方法

    public int getDaysBetween (Calendar d1, Calendar d2){

      if (d1.after(d2)){  // swap dates so that d1 is start and d2 is end

           java.util.Calendar swap = d1;

           d1 = d2;

           d2 = swap;

      }

      int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);

      int y2 = 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);

      }

       return days;

    }

Java日期工具类

源代码如下:可以运行

import java.util.*;

public class DateTest

{

private GregorianCalendar cal;

public DateTest()

{

cal=new GregorianCalendar();

}

public Date getMonday()

{

cal.set(Calendar.DAY_OF_WEEK, 2);

return cal.getTime();

}

public Date getSunday()

{

cal.set(Calendar.DAY_OF_WEEK, 1);

return cal.getTime();

}

public Date getFirstDayOfMonth()

{

cal.set(Calendar.DAY_OF_MONTH, 1);

return cal.getTime();

}

public Date getLastDayOfMonth()

{

if(cal.isLeapYear(cal.get(Calendar.YEAR)))

{

if(cal.get(Calendar.MONTH)==2)

{

cal.set(Calendar.DAY_OF_MONTH, 29);

return cal.getTime();

}

}

if(!cal.isLeapYear(cal.get(Calendar.YEAR)))

{

if(cal.get(Calendar.MONTH)==2)

{

cal.set(Calendar.DAY_OF_MONTH, 28);

return cal.getTime();

}

}

if(cal.get(Calendar.MONTH)==8)

{

cal.set(Calendar.DAY_OF_MONTH, 31);

return cal.getTime();

}

if(cal.get(Calendar.MONTH)/2==0)

{

cal.set(Calendar.DAY_OF_MONTH, 30);

return cal.getTime();

}

else

{

cal.set(Calendar.DAY_OF_MONTH, 31);

return cal.getTime();

}

}

public static void main(String[] args)

{

DateTest dt=new DateTest();

System.out.println("周一:"+dt.getMonday().toString());

System.out.println("周日:"+dt.getSunday().toString());

System.out.println("这个月第一天:"+dt.getFirstDayOfMonth().toString());

System.out.println("这个月最后一天:"+dt.getLastDayOfMonth().toString());

}

}

关于java处理日期的类和java中操作日期的类有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。