java date 操作类_Java入门——日期操作类

Java入门——日期操作类

Date类

是一个较为简单的操作类,使用java.util.Data类的构造方法并进行输出就可以得到一个完整的日期。构造方法为:  public Data();

java.util包需要导入

package Sep26;

import java.util.Date;

public class DataDemo01 {

public static void main(String[] args) {

Date date=new Date();

System.out.println("当前日期为:"+date);

}

}

当前日期为:Mon Sep 26 10:57:57 CST 2016

使用Calendar类可以得到格式丰富的日期

Calendar类

Calendar类是一个抽象类,可以依靠对象的多态性,通过子类对父类进行实例化操作,Calendar类的子类是GregorianCalendar类。

属性:

序号

常量

类型

描述

1

public static final int YEAR

int

取得年

2

public static final int MONTH

int

取得月

3

public static final int DAY_OF_MONTH

int

取得日

4

public static final int HOUR_OF_DAY

int

取得小时,24小时制

5

public static final int MINUTE

int

取得分

6

public static final int SECOND

int

取得秒

7

public static final int MILLISEOND

int

取得毫秒

方法:

序号

方法

类型

描述

1

public static Calendar getInstance()

普通

根据默认的时区实例化对象

2

public beelean after(Obeject when)

普通

判断一个日期是否在一个日期之前

3

public beelean before(Obeject when)

普通

判断一个日期是否在一个日期之后

4

public int get(int field)

普通

返回给定日历字段的值

package Sep26;

import java.util.Calendar;

import java.util.GregorianCalendar;

public class DateDemo02 {

public static void main(String[] args) {

Calendar calendar=null;

calendar=new GregorianCalendar();

System.out.println("年:"+calendar.get(Calendar.YEAR));

System.out.println("月:"+calendar.get(Calendar.MONTH)+1);//月份是从0开始算的,所以要+1

System.out.println("日:"+calendar.get(Calendar.DAY_OF_MONTH));

System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));

System.out.println("分:"+calendar.get(Calendar.MINUTE));

System.out.println("秒:"+calendar.get(Calendar.SECOND));

System.out.println("毫秒:"+calendar.get(Calendar.MILLISECOND));

}

}

年:2016

月:81

日:26

时:11

分:20

秒:3

毫秒:384

按照以上方法获得系统的时间会比较复杂,所以Java提供了其他方便的系统时间类,以显示符合习惯的系统时间

DateFormat类

Format类是用于格式化数据的一个类,DateFormat类是它的一个子类:DateFormat类也是一个抽象类,但是该抽象类中提供了一个静态方法,可以直接取得本类的实例。

package Sep26;

import java.util.*;

import java.text.*;

public class DateDemo03 {

public static void main(String[] args) {

DateFormat df1=null;

DateFormat df2=null;

df1=DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));

df2=DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN"));

System.out.println("DATE:"+df1.format(new Date()));

System.out.println("DATE:"+df2.format(new Date()));

}

}

DATE:2016年9月26日

DATE:2016年9月26日 上午11时37分59秒 CST

SimpleDateFormat类(最常用)

先定义出一个完整的日期转换模板,在模板中通过通过特定的日期标记:

序号

标记

描述

1

yyyy

2

MM

3

dd

4

HH

小时

5

mm

分钟

6

ss

7

SS

毫秒

常用方法:

序号

方法

类型

描述

1

public SimpleDateFormat(String pattern)

构造

通过一个指定的模板构造对象

2

public Date parse(String source)throws ParseException

普通

将一个包含日期的字符串变为Date类型

3

public final String format(Date date)

普通

将一个日期类型按照指定格式转化为字符串类型

package Sep26;

import java.util.*;

import java.text.*;

public class DateDemo05 {

public static void main(String[] args) {

String strData="2016-09-26 10:11:30.123";//定义日期时间的字符串

String pat1="yyyy-MM-dd HH:mm:ss.SSS";//准备第一个模板,从字符串中提取日期数字

String pat2="yyyy年MM月dd日 HH点mm分ss秒SSS毫秒";//准备第二个模板,从字符串中提取日期数字

//必须要根据模板实例化对象

SimpleDateFormat sdf1=new SimpleDateFormat(pat1);//实例化模板对象

SimpleDateFormat sdf2=new SimpleDateFormat(pat2);//实例化模板对象

Date d=null;

try {

d=sdf1.parse(strData);//提取字符串中的日期

} catch (ParseException e) {

e.printStackTrace();

}

System.out.println(sdf2.format(d));

}

}

2016年09月26日 10点11分30秒123毫秒

1:根据模板实例化对象构造函数)

2:parse()函数提取字符串中的日期,变为Date类型

3:format()函数格式化时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值