Java中Date类的使用

一、Date类型的初始化

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

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

import java.util.Calendar;

import java.util.Date;

 

public class Main4 {

 

/**

 * @param args

 */

public static void main(String[] args) {

Date date=null;

String dateStr="2010-9-10";

String[] dateDivide=dateStr.split("-");

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();

}

            System.out.println(date);

}

 

}

二、Date类型的比较

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

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

 

public class Main4 {

 

/**

 * @param args

 */

public static void main(String[] args) {

//Date date=null;

//String dateStr="2010-9-10";

//String[] dateDivide=dateStr.split("-");

//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();

//}

//            System.out.println(date);

//Date类型常用的操作函数

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

Calendar calendar=Calendar.getInstance();

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

//calendar.clear();

//calendar.set(Calendar.YEAR,2018);

//calendar.set(Calendar.MONTH,3-1);

//int day=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

// 2.------CalendarDate的转化

    //-----Calendar转化为Date--

Date date=calendar.getTime();

System.out.println(date);//Sat Mar 24 11:39:55 CST 2018

    //-----Date转化为Calendar--

Date date1=new Date();

Calendar calendar1=Calendar.getInstance();

calendar1.setTime(date1);

//3.----计算一年中的第几星期是几号

SimpleDateFormat df=new SimpleDateFormat();

Calendar calen=Calendar.getInstance();

calen.set(Calendar.YEAR,2018);

calen.set(Calendar.WEEK_OF_YEAR,4);

calen.set(Calendar.DAY_OF_WEEK,4);

System.out.println(df.format(calen.getTime()));

//add方法

SimpleDateFormat dff=new SimpleDateFormat("yyyy-MM-dd");

Calendar calll=Calendar.getInstance();

calll.set(Calendar.YEAR,2018);

calll.set(Calendar.MONTH,4);

calll.set(Calendar.DAY_OF_MONTH,24);

calll.add(Calendar.DATE,-4);

Date dateee=calll.getTime();

System.out.println(dff.format(dateee));

calll.add(Calendar.DAY_OF_MONTH,-4);

//calll.add(Calendar.DATE,-4); 相等

Date datee1=calll.getTime();

System.out.println(dff.format(datee1));

}

 

}

 

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值