【javaSE】Date和Calendar类

************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************

2.1 Date类及经常使用方法

java.util.Date类用于封装日期和时间信息。目前Date类的大多数用于进行时间份量计算的方法已被Calendar取代。

无参的构造方法,构造的Date对象封装当前的日期和时间信息

Date date=new Date();

Date类已重新了toString对象

getTime()方法:获得197011日距今的毫秒数,例如

long time=date.getTime();

setTime()方法通过毫秒数设置Date对象的时间,例如

date.setTime(date.getTime()+ 24*60 *60*1000);

2.2 SimpleDateFormat

java.text.SimpleDateFormat类用于实现Date对象和字符串表示的日期信息直接的转换。其构造方法为:

SimpleDateFormate sdf=new SimpleDateFormat(“yyyy-MM-dd”)

Date date=new Date();

SimpleDateFormatformat方法用于将日期数据依照指定的格式转换为字符串

2.2.1 parse方法

parse方法用于依照特定格式将表示时间的字符串转换Date对象。例如:

String dateStr=”2013-01-06”

SimpleDateFormate sdf=new SimpleDateFormat(“yyyy-MM-dd”);

Date date=sdf.parse(dateStr);

2.2.2 经常使用格式字符串

年: yyyy,yy

月:MM

日:dd    

星期:E 可用值或参数:Sun,

上午:a 可用值后者参数为:PMAM

24小时制:HH

12小时制:hh

分钟:mm

秒:ss

2.3 DateFormat

DateFormatSimpleDateFormat父类,其工厂方法getXXXInstance可用返回不同地域的日期格式DateFormat对象,例如

DateFormart df2=DateFormat.getDateInstane(DateFormat.MEDIUM,Locale.CHINA);

String dateStr=df2.format(new Date());

2.4 Calendar

java.util.Calendar类用于封装日历信息,其主要作用在于可用对时间份量进行运算。Calendar是抽象类,其具体自雷针对不同国家的日历系统,其中最广泛的的GregorianCalendar(格里高利历),例如

new GregorianCalendar(zone,aLocale);

         通常使用Clendar的静态方法getInstance取得Calendar对象;getInstance方法根据系统的地域仔细返回不同的Calenar类的实现

2.4.1 Calendar份量运算

Calendar通过setget方法对各个世界份量进行设置和获得;时间份量包括Calendar.YEAR,MOUNTH,DATE,DAY_OF_WEEK,DAY_OF_YEAR,WEEK_OF_MOUTH,WEEK_OF_YEAR等待

         例如:Calendar c=Calendar.getInstance();

                     c.set(Calendar.YEAR,2013)

                     c.set(Calendar.MOUNTH,Calendar.JANUARY);

                     c.set(Calendar.DATE,29);

         注:Calendar对象自动适应,由于229日没有,自动变成31

2.4.2 Calendar经常使用API

add方法对某个时间份量进行增加

         c.add(Calendar.MOUNTH,1);

         getActualMaximum可以返回某个时间份量的最大值

         c. getActualMaximum(Calendar.DATE)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...