Java时间及其格式化

时间如期的操作:

1、  Date类

 

2、  Calendar类

由构造方法可以看出此类是抽象类,不能被实例化,则必须通过子类实例化

public abstract class Calendarextends Object

implements Serializable, Cloneable, Comparable<Calendar>

实例化方式:    Calendar calendar = newGregorianCalendar();

Calendar calendar = new GregorianCalendar();

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

       System.out.println("月"+calendar.get(calendar.MONTH+1));

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

       System.out.println("时"+calendar.get(calendar.YEAR));

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

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

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

年2012

月10

日7

时2012

分15

秒25

毫秒718

 

 

3、时间格式化:

DateFormat类是专门用来格式化时间的类,因为java.util.Date类的时间格式不理想,我们要根据需要进行相应的格式化,但DateFormat类我们一般不用,他是个抽象类,我们应该用他的子类SimpleDateFormat来帮我们完成相应的工作。

NO

日期

模板标志

长度

描述

1

y

4

表示yyyy年

2

M

2

表示MM月

3

D

2

表示dd日

4

H

2

表示HH小时

5

M

2

表示mm分

6

S

2

表示ss秒

7

毫秒

S

3

表示SSS毫秒

常用方法:

构造方法:public SimpleDateFormat(String pattern),指定一种格式风格。

将时间变为String类型,simpleDateFormat.format();

将字符串转换为Date类型时间:public Date parse(String source);

public static void main(String[] args) {

       Calendar calendar = new GregorianCalendar();

       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH时mm分ss秒SSS毫秒");

       /*因为Calendar可以精确到毫秒,我们应该多用Calendar,当我们需要Date时可以转换成Date*/

       Date date = calendar.getTime();//Calendar-->变Date

       String strDate = sdf.format(date);//时间转换为字符串

       System.out.println(strDate);//SimpleDateFormate要与Date一起使用

    }

2012年03月07日  20时15分25秒718毫秒

 

 

 


日期类Date:创建日期、修改日期、比较日期、输出日期
日期格式化类SimpleDateFormat:创建格式化对象、日期转换为字符串、字符串转换为日期。
日历类Calendar:创建Calendar对象、取得Date对象、修改和取得各字段的值。

目前,Date类中对年、月、日、小时、分钟和秒值各字段访问的函数已经过时(被废弃了),这些功能被迁移到Calendar类中。
Calendar类是一个抽象类,可以通过调用其静态方法getInstance()来获得该类的实例(实际上是其子类的实例)。而后对其操作,常用的方法有:
public static Calendar getInstance() 

或者Calendar calendar = new GregorianCalendar();取得
public int get(int field) //返回指定时间域的值。为了便于记忆和使用,
    Calendar定义了一系列的静态整型常量来标示各时间域,如Calendar.YEAR、Calendar.MONTH等。
public void set(int field,int value) //将参数filed指定的时间域设置为value指定的值
public final void set(int year,int month,int date) //设置当前日期的年月日
public final void set(int year, int month, int date, int hourOfDay, int minute, int second)
public abstract void add(int field,int amount); 为指定的日历字段添加或减去指定的时间量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值