您的位置:首页 > 编程语言 > Java开发

Java时间及其格式化

2012-02-28 15:15 260 查看
时间如期的操作:

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); 为指定的日历字段添加或减去指定的时间量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: