Java常用类之Date类

简介: Java常用类之Date类

1.Date类


Date:表示特定的瞬间,精确到毫秒。


在JDK1.1开始,使用Calendar类实现日期和时间字段之间转换。使用DateFormat类来格式化和解析日期字符串。Date中的相应大部分方法已废弃。


Note:UTC为世界标准时间。GMT为民间标准(格林威治标准时)


构造方法:


public Date();


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


public Date(long Date);


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


方法摘要:


int compareTo(Date anotherDate) // 比较两个日期的顺序。


boolean equals(Object obj)//比较两个日期的相等性。


public void getTime()  //返回当前时间的毫秒值


public void setTime()  //设置当前毫秒值


boolean after(Date when)//测试此日期是否在指定日期之后。


boolean before(Date when)// 测试此日期是否在指定日期之前。


long与Date类型转换


System.currentTimeMillions()//获取系统当前时间,返回值long类型


Date.getTime()(注:需先创建Date对象)


Date与String类型转换


public final String format(Date date);


获取系统时间的两种方法的区别:


第一种:Date time=new Date(); //创建时间对象


System.out.println(time); //输出系统时间


第二种:


将long类型时间转换成Date类型


long l=System.currentTimeMillis();//获取系统当前时间


Date d=new Date(l);


System.out.println(d);


分析:


两种方法的Date时间运行的结果相同,它们都创建时间对象Date,区别在于第二种方法时间对象引用了系统的long型时间。而System.currentTimeMillis()方法返回值为long型,还可以利用此方法计算应用程序的运行时间。


示例代码:(获取当前时间)

import java.util.*;
import java.text.*;
class DateDemo 
{
  public static void main(String[] args) 
  {
    Date d = new Date();//创建时间对象
    System.out.println("1————此刻的北京时间(系统默认时间模式)是:  "+d);
    //将模式封装到SimpleDateformat对象中。
    //设定时间模板:某某年某月某日星期几 时:分:秒
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");
    //调用format方法让模式格式化指定Date对象。
    String time = sdf.format(d);
    //按自定义模板输出系统时间
    System.out.println("————此刻的北京时间(自定义时间模板格式)是:"+time);
    //第二种方式 获取系统当前时间
    long l = System.currentTimeMillis();
    Date d1 = new Date(l);
    System.out.println("2————此刻的北京时间(系统默认模板格式)是"+d1);
  }
}

运行结果:

image.png

2.DateFormat类


DateFormat:使用与语言无关的方式格式化和并解析日期和时间。


是一个日期格式化子类的抽象类。该类可以进行格式化也可以解析字符串。


方法:


String/StringBuffer format(Date date);//将Date日期格式化为日期时间字符串。


3.SimpleDateFormat类


SimpleDateFormat类:在java.text包中。DateFormat的子类。


无参构造方法


SimpleDateFormat(){};


// 用默认的模式和默认语言环境的日期格式符号构造SimpleDateFormat。


public SimpleDateFormat(String pattern){};


//参数Date,创建格式对象。用给定的模式和默认语言环境的日期格式符号构造


格式化日期时间步骤:


1)在创建对象时指定一个格式:YYYY年MM月dd日 HH:mm:ss (如果调用格式化器无参构造,此步骤省略)


2)创建一个格式器SimpleDateFormat


3)创建一个日期对象Date d


4)使用格式化器的formate方法格式化d,得到想要的格式字符串。


示例代码:

image.png

运行结果:

image.png

目录
相关文章
|
4月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
270 101
|
4月前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
307 100
|
3月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
135 4
|
3月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
216 5
|
3月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
211 2
|
3月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
204 1
|
3月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
262 1
|
3月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
231 1
|
3月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
326 5
|
5月前
|
安全 Java API
Java日期时间API:从Date到Java.time
本文深入解析了Java 8中引入的全新日期时间API,涵盖LocalDate、LocalTime、LocalDateTime、ZonedDateTime等核心类的使用,以及时间调整、格式化、时区处理和与旧API的互操作。通过实例对比,展示了新API在可变性、线程安全与易用性方面的显著优势,并提供迁移方案与实战技巧,助你掌握现代Java时间处理的最佳实践。