当前位置 : IT培训网 > Java开发 > Java教程 > Java编程语言中日期和时间类详解

Java编程语言中日期和时间类详解

时间:2016-08-31 15:46:37  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
标签(Tag):   java(716)Date(22)Calendar(5)
GregorianCalendar 是一个具体实现 Calendar 类的类,该类实现了公历日历。Calendar 类的 getInstance() 方法返回一个 GregorianCalendar,它被初始化为默认的地域和时区下的当前日期和时间。

对于没有基础的Java学习者来说,本节的内容应该比较简单吧,定义个时间,定义个日期,而且日期和时间都是日常生活中常用的,所以学好这方面也可以开发出很多可用的小软件。下面就是关于Java日期和时间方面的介绍,希望可以帮助大家学习。

Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。

Date

Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个:

•       Date():使用当前的日期和时间初始化一个对象。

•       Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒。如果运行 Java 程序的本地时区是北京时区(与格林威治时间相差 8 小时),Date dt1=new Date(1000);,那么对象 dt1 就是1970年01月01日08时00分01秒。

请看一个显示日期时间的例子:

import java.util.Date;

public class Demo{

    public static void main(String args[]){

        Date da=new Date();  //创建时间对象

        System.out.println(da); //显示时间和日期

        long msec=da.getTime();

        System.out.println("从1970年1月1日0时到现在共有:" + msec + "毫秒");

    }

}

运行结果:

Mon Feb 05 22:50:05 CST 2007

从1970年1月1日0时到现在共有:1170687005390 毫秒

一些比较常用的 Date 类方法:

方法

功能

boolean after(Date date)

若调用 Date 对象所包含的日期比 date 指定的对象所包含的日期晚,返回 true,否则返回 false。

boolean before(Date date)

若调用 Date 对象所包含的日期比 date 指定的对象所包含的日期早,返回 true,否则返回 false。

Object clone()

复制调用 Date 对象。

int compareTo(Date date)

比较调用对象所包含的日期和指定的对象包含的日期,若相等返回 0;若前者比后者早,返回负值;否则返回正值。

long getTime()

以毫秒数返回从 1970 年 01 月 01 日 00 时到目前的时间。

int hashCode()

返回调用对象的散列值。

void setTime(long time)

根据 time 的值,设置时间和日期。time 值从 1970 年 01 月 01 日 00 时开始计算。

String toString()

把调用的 Date 对象转换成字符串并返回结果。

public Static String valueOf(type variable)

把 variable 转换为字符串。

Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。若需要修改时间显示的格式可以使用“SimpleDateFormat(String pattern)”方法。

例如,用不同的格式输出时间:

import java.util.Date;

import java.text.SimpleDateFormat;

public class Demo{

    public static void main(String args[]){

        Date da=new Date();

        System.out.println(da);

        SimpleDateFormat ma1=new SimpleDateFormat("yyyy 年 MM 月 dd 日 E 北京时间");

        System.out.println(ma1.format(da));

        SimpleDateFormat ma2=new SimpleDateFormat("北京时间:yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");

        System.out.println(ma2.format(-1000));

    }

}

运行结果:

Sun Jan 04 17:31:36 CST 2015

2015 年 01 月 04 日 星期日 北京时间

北京时间:1970 年 01 月 01 日 07 时 59 分 59 秒

Calendar

抽象类 Calendar 提供了一组方法,允许把以毫秒为单位的时间转换成一些有用的时间组成部分。Calendar 不能直接创建对象,但可以使用静态方法 getInstance() 获得代表当前日期的日历对象,如:

    Calendar calendar=Calendar.getInstance();

该对象可以调用下面的方法将日历翻到指定的一个时间:

void set(int year,int month,int date);

void set(int year,int month,int date,int hour,int minute);

void set(int year,int month,int date,int hour,int minute,int second);

若要调用有关年份、月份、小时、星期等信息,可以通过调用下面的方法实现:

    int get(int field);

其中,参数 field 的值由 Calendar 类的静态常量决定。其中:YEAR 代表年,MONTH 代表月,HOUR 代表小时,MINUTE 代表分,如:

    calendar.get(Calendar.MONTH);

如果返回值为 0 代表当前日历是一月份,如果返回 1 代表二月份,依此类推。

由 Calendar 定义的一些常用方法如下表所示:

方法

功能

abstract void add(int which,int val)

将 val 加到 which 所指定的时间或者日期中,如果需要实现减的功能,可以加一个负数。which 必须是 Calendar 类定义的字段之一,如 Calendar.HOUR

boolean after(Object calendarObj)

如果调用 Calendar 对象所包含的日期比 calendarObj 指定的对象所包含的日期晚,返回 true,否则返回 false

boolean before(Object calendarObj)

如果调用 Calendar 对象所包含的日期比 calendarObj 指定的对象所包含的日期早,返回 true,否则返回 false

final void clear()

对调用对象包含的所有时间组成部分清零

final void clear(int which)

对调用对象包含的 which 所指定的时间组成部分清零

boolean equals(Object calendarObj)

如果调用 Calendar 对象所包含的日期和 calendarObj 指定的对象所包含的日期相等,返回 true,否则返回 false

int get(int calendarField)

返回调用 Calendar 对象的一个时间组成部分的值,这个组成部分由 calendarField指定,可以被返回的组成部分如:Calendar.YEAR,Calendar.MONTH 等

static Calendar getInstance()

返回使用默认地域和时区的一个 Calendar 对象

final Date getTime()

返回一个和调用对象时间相等的 Date 对象

final boolean isSet(int which)

如果调用对象所包含的 which 指定的时间部分被设置了,返回 true,否则返回 false

final void set(int year,int month)

设置调用对象的各种日期和时间部分

final void setTime(Date d)

从 Date 对象 d 中获得日期和时间部分

void setTimeZone(TimeZone t)

设置调用对象的时区为 t 指定的那个时区

GregorianCalendar

GregorianCalendar 是一个具体实现 Calendar 类的类,该类实现了公历日历。Calendar 类的 getInstance() 方法返回一个 GregorianCalendar,它被初始化为默认的地域和时区下的当前日期和时间。

 

GregorianCalendar 类定义了两个字段:AD 和 BC,分别代表公元前和公元后。其默认的构造方法 GregorianCalendar() 以默认的地域和时区的当前日期和时间初始化对象,另外也可以指定地域和时区来建立一个 GregorianCalendar 对象,例如:

GregorianCalendar(Locale locale);

GregorianCalendar(TimeZone timeZone);

GregorianCalendar(TimeZone timeZone,Locale locale);

GregorianCalendar 类提供了 Calendar 类中所有的抽象方法的实现,同时还提供了一些附加的方法,其中用来判断闰年的方法为:

    Boolean isLeapYear(int year);

如果 year 是闰年,该方法返回 true,否则返回 false。

关于“Java编程语言中日期和时间类详解”方面的知识点已经介绍完了,你是否学会了呢,想要报名IT培训网学习Java的学子可要加速了,一次次开班意味着一次次的毕业生走向社会找到高薪工作,你的犹豫和等待都可能让您错失月入过万的机会。
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
Java教程
1、Java 概述
1.1 Java语言概述
1.2 Java虚拟机以及跨平台原理
1.3 Java的主要就业方向
1.4 Java的不同版本
1.5 Java开发环境搭建
1.6 第一个Java程序示例
1.7 Java类和对象的概念
1.8 Java类库及其组织结构
1.9 Java import
2、Java 语法基础
2.1 Java数据类型以及变量的定义
2.2 Java数据类型转换
2.3 Java运算符
2.4 Java流程控制
2.5 Java数组的定义和使用
2.6 Java字符串(String)
2.7 Java StringBuffer与StringBuider
2.8 强调一下编程风格
3、Java 类与对象
3.1 Java类的定义及其实例化
3.2 Java访问修饰符
3.3 Java变量的作用域
3.4 Java this关键字详解
3.5 Java方法重载
3.6 Java类的基本运行顺序
3.7 Java包装类、拆箱和装箱详解
3.8 再谈Java包
3.9 源文件的声明规则
4、Java 继承和多态
4.1 继承的概念与实现
4.2 Java super关键字
4.3 继承中的方法的覆盖和重载
4.4 多态和动态绑定
4.5 instanceof 运算符
4.6 多态对象的类型转换
4.7 Java static关键字
4.8 Java final关键字
4.9 Java Object类
5、面向对象高级特性
5.1 Java内部类及其实例化
5.2 内部类的分类
5.3 抽象类的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象类的区别
5.6 Java 泛型
5.7 泛型通配符和类型参数的范围
6、异常处理
6.1 异常处理基础
6.2 异常类型Java语言中常见的异常类型有哪些
6.3 未被捕获的异常
6.4 try和catch的使用
6.5 多重catch语句的使用
6.6 try语句的嵌套
6.7 throw:异常的抛出
6.8 throws子句
6.9 finally块
6.10 Java的内置异常
6.11 创建自己的异常子类
6.12 断言
7、线程编程
7.1 线程的概念
7.2 Java线程模型
7.3 主线程
7.4 创建线程
7.5 创建多线程
7.6 isAlive()和join()的使用
7.7 线程优先级
7.8 线程同步
7.9 线程间通信
7.10 线程死锁
7.11 线程的挂起、恢复和终止
8、输入输出(IO)操作
8.1 输入输出基本概念
8.2 面向字符的输入流
8.3 面向字符的输出流
8.4 面向字节的输入输出流
8.5 面向字节流的应用
8.6 文件与目录管理
8.7 文件的随机读写
8.8 文件的压缩处理
9、常用类库、向量与哈希
9.1 Java基础类库
9.2 Object类
9.3 Java语言包(java.lang)简介
9.4 日期和时间类
9.5 向量及其应用
9.6 哈希表及其应用
10、图形界面(GUI)设计
10.1 图形界面设计基础
10.2 框架窗口
10.3 标签、按钮和按钮事件
10.4 面板
10.5 布局设计
10.6 文本框和文本区
10.7 文本框和文本区的输入输出
10.8 选择框和单选按钮
10.9 列表和组合框
10.10 菜单
10.11 对话框
10.12 滚动条
10.13 鼠标事件
10.14 键盘事件
11、图形、图像与多媒体
11.1 绘图基础
11.2 设置字型和颜色
11.3 绘图模式
11.4 Graphics类的绘图方法
11.5 Graphics2D类的绘图方法
11.6 图像处理基础
11.7 图像缓冲技术
11.8 多媒体基础
12、网络与数据库编程
12.1 IP地址和InetAddress类
12.2 统一资源定位符
12.3 套接字(Socket)
12.4 数据库连接
12.5 几个重要的类和接口
12.6 数据库查询
12.7 数据库更新
12.8 插入记录
12.9 修改记录
12.10 删除记录