Java中的日期类

Date类记录日期时间,

    DateFormat类操作Date类与String的转换

        Calerdan类获取Date类对象的属性


Date类

包路径:java.util.Date 
日期类:可以用过此类获得时间和日期.(精确到毫秒)

Date的构造方法:
  Date(); 获得当前的系统时间对象.
Date date = new Date();
 Date(long time);根据指定的毫秒值,创建日期对象.
Date date = new Date(time);
*Date类对Object的toString()方法进行了重写,所以我们可以 直接输出对象,获取创建对象的时间.(结果是指定的字符串)
*因为我们是东8区,所以原本是1000毫秒初始为8点.

Date的常用的成员方法:(很多已经过时了)
  long getTime():获得当前对象时间的毫秒值,(System.currentTimeMillis()获取当前系统时间的毫秒值)
System.out.println(date.getTime());
//输出 1528017398290  是从1970年1月1日0点0分0秒至今的毫秒数
//1s = 1000ms
//把毫秒转换成日期对象
Date date_new = new Date(date.getTime());
//毫米转换为天  转换为年 再 /364 就可以了
int days = date.getTime()/1000/3600/24;


DateFormat类

使用DateFormat类可以在Date对象和String对象中进行转换.

日期格式化的抽象类:
  *格式化:将日期对象格式化为字符串.
  *解析:将字符串格式化为日期对象.

DateFormat是一个 抽象类.所以使用 其子类来实现.
  常用子类: SimpleDateFormat
    构造方法:
  *SimpleDateFormat():没有指定格式.使用默认的日期格式
  *SimpleDateFormat(String patten):patten指定的日期格式.(模式)
    常用的规则模式:
字符
代表
备注 
yyyy
有多少个字符表示获取多少位.
MM

dd

HH
hh:12小时制 HH:24小时制
mm

ss


    成员方法:
  1.String format(Date d):是父类DateFormat的方法,将日期对象转换为字符串.
//获取当前日期对象.
Date date = new Date();
//创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");

//Date => String
String dstr = sdf.format(d);
//输出  xxx-xx-xx xx:xx:xx
System.out.print(dstr);
  2.public Date parse(String str):将字符串转换为日期对象.
//日期字符串
String dateStr = "2015-04-21 10:32:33";
//创建日期格式化对象,需要指定与字符串相符的日期模式,否则解析不了
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//String => Date
//此方法需要抛出一个异常...
try{
    Date date = sdf.parse(dateStr);
}catch(Exception e){
    System.err.println("cast Error");
}
  3.public void applyPattern(String pattern);修改日期模式.
//获取当前时间
Date date = new Date();
//创建一个SimpleDateFormat对象,使用DateFormat父类的方法
SimpleDateFormat format = new SimpleDateFormat();
//转换为字符串
String str = format.format(date);
//默认输出格式
//  xxxx/xx/xx  上午/下午 xx:xx
System.out.println(str);


Calendar类

日历类,在Date后出现, 替换了许多Date的方法,也是个 抽象类
日历类可以方便获取各个时间属性.

获得日历对象:
  通过调用Calender类的静态方法获得对象:(不使用new创建对象)
    * static Calender getInstance()
Calender c = Calender.getInstance();
System.out.println(c);
 
  Calender类的成员方法:
   1.int get(int field):通过field指定的字段获得日期的年月日等.
(通常使用Calender的常量作为参数.查看api)
//获得日历对象
Calender c = Calender.getInstance();

//获得日期.
int year = c.get(Calender.YEAR);
int month = c.get(Calender.MONTH) + 1;
int dayOfMonth = c.get(Calender.MONTH) + 1;
  3.public void set(int field,int value):设置给定字段的值.

  4.public int get(int field):返回给定字段的值

  5.public Date getTime():返回一个表示此Calendar时间值的Date的对象.

*注意事项:
    字段相当于类的属性.
    在Calender里面的月份是从0开始的,所以只有0代表1月,11代表12月.
    在Calender里面设置月份12的,会自动进一年,32日的同理.






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值