「java处理日期的类」java中操作日期的类有哪些
本篇文章给大家谈谈java处理日期的类,以及java中操作日期的类有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java.util包提供了math类用于处理时间和日期对吗?
- 2、date在java中用什么类型
- 3、用java定义一个日期类,急!!!
- 4、java日期处理
- 5、Java中日历类(CalendarClass)的用途?
- 6、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中操作日期的类有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。