java int date_Java中Date类型详解

一、Date类型的初始化

1、 Date(int year, int month, int date); 直接写入年份是得不到正确的结果的。 因为java中Date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。 月需要减1,日可以直接插入。 这种方法用的比较少,常用的是第二种方法。

2、 这种方法是将一个符合特定格式,比如yyyy-MM-dd,的字符串转化成为Date类型的数据。 首先,定义一个Date类型的对象 Date date = null; 再定义一个String类型的符合格式的字符串 String dateStr = "2010-9-10"; 把这个字符串进行拆分 String[ ]  dateDivide = dateStr.split("-"); 把年月日分别取出,赋给Calendar,用 Calendar的getTime();取得日期再赋给date。

例如:

if(dateDivide.length==3){

int year = Integer.parseInt(dateDivide [0].trim());//去掉空格

int month = Integer.parseInt(dateDivide [1].trim());

int day = Integer.parseInt(dateDivide [2].trim());

Calendar c = Calendar.getInstance();//获取一个日历实例

c.set(year, month-1, day);//设定日历的日期

date = c.getTime();

}

二、Date类型的比较

Date a;Date b;假设现在你已经实例化了a和ba.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回trueb.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回truea.equals(b)返回一个boolean,如果a的时间和b相等返回true

三、Date类型常用的操作函数

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

2 Calendar time =Calendar.getInstance();3 time.clear();4 time.set(Calendar.YEAR, year); //year 为 int

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

6 int day = time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数7 //注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间8 //2.Calendar和Date的转化9 //(1) Calendar转化为Date Calendar

10 cal =Calendar.getInstance();11 Date date =cal.getTime();12 //(2) Date转化为Calendar

13 Date date = newDate();14 Calendar cal =Calendar.getInstance();15 cal.setTime(date);16 //3.格式化输出日期时间(这个用的比较多)

17 Date date = newDate();18 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");19 String time =df.format(date);20 System.out.println(time);21 //4.计算一年中的第几星期22 //(1)计算某一天是一年中的第几星期

23 Calendar cal =Calendar.getInstance();24 cal.set(Calendar.YEAR, 2006);25 cal.set(Calendar.MONTH, 8);26 cal.set(Calendar.DAY_OF_MONTH, 3);27 int weekno =cal.get(Calendar.WEEK_OF_YEAR);28 //(2)计算一年中的第几星期是几号

29 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");30 Calendar cal =Calendar.getInstance();31 cal.set(Calendar.YEAR, 2006);32 cal.set(Calendar.WEEK_OF_YEAR, 1);33 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);34 System.out.println(df.format(cal.getTime()));//输出:2006-01-0235 //5.add()和roll()的用法(不太常用)36 //(1)add()方法

37 SimpleDateFormat df=newSimpleDateFormat("yyyy-MM-dd");38 Calendar cal =Calendar.getInstance();39 cal.set(Calendar.YEAR, 2006);40 cal.set(Calendar.MONTH, 8);41 cal.set(Calendar.DAY_OF_MONTH, 3);42 cal.add(Calendar.DATE, -4);43 Date date =cal.getTime();44 System.out.println(df.format(date));45 cal.add(Calendar.DATE, 4);46 date =cal.getTime();47 System.out.println(df.format(date));//输出:2006-08-30 2006-09-0348 //(2)roll方法

49 cal.set(Calendar.YEAR, 2006);50 cal.set(Calendar.MONTH,8);51 cal.set(Calendar.DAY_OF_MONTH,3);52 cal.roll(Calendar.DATE, -4);53 date=cal.getTime();54 System.out.println(df.format(date));55 cal.roll(Calendar.DATE,4);56 date=cal.getTime();57 System.out.println(df.format(date));//输出:2006-09-292006-09-0358 //可见,roll()方法在本月内循环,一般使用add()方法;

一、Date类型的初始化

1、 Date(int year, int month, int date); 直接写入年份是得不到正确的结果的。 因为java中Date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。 月需要减1,日可以直接插入。 这种方法用的比较少,常用的是第二种方法。

2、 这种方法是将一个符合特定格式,比如yyyy-MM-dd,的字符串转化成为Date类型的数据。 首先,定义一个Date类型的对象 Date date = null; 再定义一个String类型的符合格式的字符串 String dateStr = "2010-9-10"; 把这个字符串进行拆分 String[ ]  dateDivide = dateStr.split("-"); 把年月日分别取出,赋给Calendar,用 Calendar的getTime();取得日期再赋给date。

例如:

二、Date类型的比较

Date a;

Date b;

假设现在你已经实例化了a和b

a.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回true

b.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回true

a.equals(b)返回一个boolean,如果a的时间和b相等返回true

三、Date类型常用的操作函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值