zoukankan      html  css  js  c++  java
  • Java学习——日期类

    Java学习——日期类

    摘要:本文主要记录了Java开发中用到的和日期有关的类以及对日期的操作。

    部分内容来自以下博客:

    https://www.cnblogs.com/talk/p/2680591.html

    概述

    日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。

    java.util.Date

    Date类表示特定的瞬间,精确到毫秒。从JDK1.1开始,应该使用Calendar类实现日期和时间字段之间转换,使用DateFormat类来格式化和分析日期字符串。Date中的把日期解释为年、月、日、小时、分钟和秒值的方法已废弃。

    构造方法

    Date():分配Date对象并用当前时间初始化此对象,以表示分配它的时间(精确到毫秒)。

    Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年01月01日 00:00:00 GMT)以来的指定毫秒数。

    java.text.DateFormat

    DateFormat类是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(日期 -> 文本)、分析(文本-> 日期)和标准化。将日期表示为Date对象,或者表示为从 GMT(格林尼治标准时间)1970年01月01日 00:00:00这一刻开始的毫秒数。

    DateFormat不是同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须保持外部同步。

    java.text.SimpleDateFormat

    SimpleDateFormat类是一个以与语言环境相关的方式来格式化和分析日期的具体类。

    SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance或getDateTimeInstance来新的创建日期-时间格式化程序。

    格式化字段含义

    格式化说明

    将Date转化为常见的日期时间字符串

    1 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    2 System.out.println(dateFormat.format(new Date()));

    将文本日期转化为Date

    1 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    2 Date date = null;
    3 try {
    4     date = dateFormat.parse("2019-01-01 01:30:28");
    5 } catch (ParseException e) {
    6     e.printStackTrace();
    7 }
    8 System.out.println(date);

    java.util.Calendar

    Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年01月01日的00:00:00.000,格里高利历)的偏移量。

    与其他语言环境敏感类一样,Calendar提供了一个类方法getInstance,以获得此类型的一个通用的对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已由当前日期和时间初始化。

    常用方法

    getInstance():公有静态方法,用于获取Calendar的实例。

    set(int field, int value):设置日历的年月日时分秒。

    get(int field):获取日历的年月日时分秒。

    setTime(Date date):设置给定的日期。

    getTime():获取日期。

    add(int field, int amount):按照日历的规则,给指定字段添加或减少时间量。

    getTimeInMillies():以毫秒为单位返回该日历的时间值。

    java.util.GregorianCalendar

    GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家使用的标准日历系统。

    GregorianCalendar是一种混合日历,在单一间断性的支持下同时支持儒略历和格里高利历系统,在默认情况下,它对应格里高利日历创立时的格里高利历日期(某些国家是在1582年10月15日创立,在其他国家要晚一些)。可由调用方通过调用setGregorianChange()来更改起始日期。

  • 相关阅读:
    0006 字符串转整数
    0005 反转整数
    0004 最长回文子串
    0003 无重复字符的最长子串
    0002 两数相加
    0001 两数之和
    使用jquery+css实现瀑布流布局
    更简单的轮播实现
    类和对象
    生产者-消费者(wait-notify实现)
  • 原文地址:https://www.cnblogs.com/shamao/p/10918627.html
Copyright © 2011-2022 走看看