JAVA日期处理类详解

JAVA日期处理类详解

在JAVA编程中,日期处理是非常重要的一部分内容。JAVA内置了许多日期处理类,下面就来详细地介绍一下。

java.util.Date类

java.util.Date类是JAVA中最早的关于日期时间处理的类。在JAVA8之前,它被广泛使用。但是由于它的一些不足之处,比如日期时间格式化问题,API设计不具有可读性等等,所以在JAVA8之后就逐渐被取代了。

示例1:获取当前日期

import java.util.Date;

public class DateExample {
    public static void main(String[] args) {
        //获取当前日期
        Date currentDate = new Date();
        System.out.println(currentDate);
    }
}

输出结果:

Thu May 20 10:15:35 CST 2021

示例2:Date类的其它常用方法

import java.util.Date;

public class DateExample {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date.toString());
        System.out.println(date.getTime());
        System.out.println(date.before(new Date()));
        System.out.println(date.after(new Date()));
        System.out.println(date.equals(new Date()));
    }
}

输出结果:

Thu May 20 10:25:08 CST 2021
1621472708381
true
false
false

java.util.Calendar类

java.util.Calendar类是一个更高级的日期时间处理类。它比Date类更加灵活,可以用于获取指定时间的年、月、日、小时、分钟等等,而且推荐使用它,因为它比Date类具有更好的可读性和更好的API设计。

示例3:获取指定日期的年、月、日

import java.util.Calendar;

public class CalendarExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(2021, Calendar.MAY, 20);

        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        System.out.printf("Year : %d%n", year);
        System.out.printf("Month : %d%n", month + 1);
        System.out.printf("Day : %d%n", day);
    }
}

输出结果:

Year : 2021
Month : 5
Day : 20

示例4:把Calendar对象转换成java.util.Date对象

import java.util.Calendar;
import java.util.Date;

public class CalendarExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(2021, Calendar.MAY, 20);
        Date date = calendar.getTime();
        System.out.println(date);
    }
}

输出结果:

Thu May 20 00:00:00 CST 2021

java.time包

java.time包是JAVA8新增的日期时间处理包,它是线程安全的并且更好地解决了日期时间格式化问题。它的使用和Calendar类非常相似,但是它更加清晰、简单,更加适合常规的日期时间处理。

示例5:获取当前日期和时间

import java.time.LocalDate;
import java.time.LocalTime;

public class JavaTimeExample {
    public static void main(String[] args) {
        LocalDate currentDate = LocalDate.now();
        LocalTime currentTime = LocalTime.now();
        System.out.println(currentDate + " " + currentTime);
    }
}

输出结果:

2021-05-20 10:41:34.536

示例6:使用java.time.LocalDateTime对象进行日期和时间运算

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

public class JavaTimeExample {
    public static void main(String[] args) {
        LocalDateTime dateTime1 = LocalDateTime.of(2021, 5, 20, 11, 0);
        LocalDateTime dateTime2 = LocalDateTime.of(2021, 5, 20, 12, 0);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        System.out.println(dateTime1.format(formatter));
        System.out.println(dateTime2.format(formatter));

        long diffMinutes = ChronoUnit.MINUTES.between(dateTime1, dateTime2);
        System.out.println("相差" + diffMinutes + "分钟");
    }
}

输出结果:

2021-05-20 11:00
2021-05-20 12:00
相差60分钟

以上就是JAVA日期处理类的详细攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA日期处理类详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 什么是GC日志?

    GC日志是指GC(Garbage Collection,垃圾回收)的记录日志,主要用于排查JVM内存问题和性能调优。在GC发生时,JVM会记录下当前内存使用情况、GC时间、GC原因、GC类型、GC前后各个内存区域的使用情况等信息,并输出到GC日志中。 常见的GC日志有以下几种格式: -Xloggc:filename [可简写为 -verbose:gc,从JD…

    Java 2023年5月11日
    00
  • Spring MVC之WebApplicationContext_动力节点Java学院整理

    Spring MVC之WebApplicationContext 本篇攻略将详细讲解Spring MVC框架中的WebApplicationContext,帮助大家了解WebApplicationContext的作用、用法以及注意事项等内容。 什么是WebApplicationContext WebApplicationContext是Spring MVC框…

    Java 2023年6月16日
    00
  • Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)

    Java实现超大Excel文件解析攻略 本文介绍使用Java解析超大的Excel文件的方法。Excel文件往往包含大量的数据,有些时候,数据量可能非常之大,如果使用常规的Excel解析方式,很容易出现内存溢出的问题。本文将介绍XSSF、SXSSF和easyExcel三种解析方式,并且对它们进行详细分析和对比。 XSSF XSSF是POI中的一种Excel解析…

    Java 2023年5月19日
    00
  • 如何使用Java性能分析工具?

    使用Java性能分析工具是优化Java应用程序性能的重要手段之一。下面是一份Java性能分析工具的使用攻略。 1.选择适合自己的性能分析工具 Java生态系统中有许多性能分析工具,根据具体场景和需求选择合适的工具非常重要。下面是一些常见的Java性能分析工具: JProfiler YourKit Java Profiler VisualVM Java Fli…

    Java 2023年5月11日
    00
  • java实现翻转单词顺序列

    以下是Java实现翻转单词顺序列的完整攻略。 题目描述 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。例如,“I am a student.”,翻转成“student. a am I”。 思路分析 可以将输入的句子按照空格进行分割,得到各个单词,然后按照倒序进行拼接得到翻转后的句子。需要注意的是,如果句子中有多个连续的空格,需要进行处理。 …

    Java 2023年5月27日
    00
  • cemtos 7 linux 安装与卸载 tomcat 7的教程

    CentOS 7 Linux安装Tomcat 7教程 步骤一:安装Java 在CentOS 7中,我们可以使用yum来安装Java。在命令行终端中运行以下命令来安装: sudo yum install java-1.8.0-openjdk-devel 该命令将在系统中安装OpenJDK 1.8。 步骤二:下载Tomcat 7 您可以从Tomcat官方网站 h…

    Java 2023年5月19日
    00
  • Spring boot中使用Spring-data-jpa方便快捷的访问数据库(推荐)

    使用Spring Boot和Spring Data JPA,可以方便地进行数据库访问,减少了繁琐的配置和代码编写,使开发变得更加简单和高效。 下面是使用Spring Boot和Spring Data JPA的完整攻略,包含两个示例。 1.引入依赖和配置 首先需要在项目的pom.xml文件中添加Spring Data JPA和数据库驱动的依赖。 <dep…

    Java 2023年5月20日
    00
  • bootstrap weebox 支持ajax的模态弹出框

    Bootstrap是一套UI框架,其中Weebox是一个基于Bootstrap的模态弹出框插件,支持AJAX加载内容。本攻略将详细介绍如何使用Bootstrap Weebox插件实现AJAX加载内容的模态弹出框。 准备工作 引入Bootstrap和jQuery库。 <link rel="stylesheet" href="…

    Java 2023年6月16日
    00
合作推广
合作推广
分享本页
返回顶部