Java学习——日期时间

来源:互联网 发布:ppt软件 编辑:程序博客网 时间:2024/06/08 01:50

前言

在使用Java作为底层语言进行开发时,我们会遇到需要获取当前日期和时间。遇到这个需要时不要慌,Java为我们提供了Date类,它封装了当前的日期和时间。

Java日期和时间

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。
第一个构造函数使用当前日期和时间来初始化对象。

Date()

第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数

Date(long millisec)

Date对象创建以后,我们来看看下表中,我们可以调用的方法
这里写图片描述

获取当前时间

Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间,如下所示:

import java.util.Date;public class DateDemo {   public static void main(String args[]) {       // 初始化 Date 对象       Date date = new Date();       // 使用 toString() 函数显示日期时间       System.out.println(date.toString());   }}

运行结果为:

Sat Nov 18 14:33:45 CDT 2017

日期比较

Java使用以下三种方法来比较两个日期

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
  • 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
  • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

使用 SimpleDateFormat 格式化日期

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。例如:

import java.util.*;import java.text.*;public class DateDemo {   public static void main(String args[]) {      Date dNow = new Date( );      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");      //这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。      System.out.println("Current Date: " + ft.format(dNow));   }}

运行结果是:

Current Date: Sat 2017.11.18 at 14:40:19 PM UTC

注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

日期和时间的格式化编码

时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下表:
这里写图片描述

解析字符串为时间

SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。例如:

import java.util.*;import java.text.*;public class DateDemo {   public static void main(String args[]) {      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");       String input = args.length == 0 ? "1818-11-11" : args[0];       System.out.print(input + " Parses as ");       Date t;       try {           t = ft.parse(input);           System.out.println(t);       } catch (ParseException e) {           System.out.println("Unparseable using " + ft);       }   }}

运行结果如下:

$ java DateDemo1818-11-11 Parses as Wed Nov 11 00:00:00 GMT 1818$ java DateDemo 2007-12-012007-12-01 Parses as Sat Dec 01 00:00:00 GMT 2007

总结

Java的日期时间有关的Date类,我就给小伙伴们分享到这里,下一篇我会给小伙伴们分先另外一个Java中和日期时间有关的,它是Calendar类。