新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门)

新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门)

1. Date类

Java中的 java.util.Date 类用于表示日期和时间。它的构造方法如下:

public class Date {
  public Date() {
  }

  public Date(long date) {
  }
}

其中,Date() 的无参构造器会返回当前日期和时间;Date(long date) 则会返回从1970年1月1日00:00:00 GMT(格林威治标准时间)以来的时间量。这个时间量以毫秒为单位。

下面是一个示例,说明如何使用 Date 来获取当前日期和时间:

import java.util.*;
public class Main {
  public static void main(String[] args) {
    Date date = new Date();
    System.out.println(date);
  }
}

运行结果如下:

Wed Jan 27 10:59:53 CST 2021

2. SimpleDateFormat类

Java中的 SimpleDateFormat 类用于以自定义格式化输出日期。它的构造方法如下:

public class SimpleDateFormat extends DateFormat {
  public SimpleDateFormat(String pattern) {
  }

其中,pattern 是日期格式化的模式字符串。下面是一些常用的模式字符串:

模式字符 说明
yyyy 年份,如2014
MM 月份,如08
dd 天数,如05
HH 24小时制的小时数,如14
hh 12小时制的小时数,如05
mm 分钟数,如45
ss 秒数,如30
S 毫秒数,如234
E 星期几,如星期五(Fri)
a 上午或下午,如上午(am)、下午(pm)

下面是一个示例,说明如何使用 SimpleDateFormat 来自定义日期的格式输出:

import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
  public static void main(String[] args) {
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    System.out.println(sdf.format(date));
  }
}

运行结果如下:

2021年01月27日 11:05:28

3. Calendar类

Java中的 Calendar 类是用于进行日期和时间计算的抽象基类。它的实例可以获取当前系统时间,以便进行日期和时间的计算。它的构造方法如下:

public abstract class Calendar {
  protected Calendar() {
  }

  public static synchronized Calendar getInstance() {
  }

  public static synchronized Calendar getInstance(TimeZone zone) {
  }
}

其中,getInstance() 方法可以用于获取默认时间区域的日历。getInstance(TimeZone zone) 方法可以用于获取指定时区的日历。下面是一个示例,说明如何使用 Calendar 类来获取当前的年、月、日:

import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
  public static void main(String[] args) {
    Calendar cal = Calendar.getInstance();
    System.out.println("年份:" + cal.get(Calendar.YEAR));
    System.out.println("月份:" + (cal.get(Calendar.MONTH) + 1));
    System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
  }
}

运行结果如下:

年份:2021
月份:1
日:27

4. 示例

最后,我们来看一个完整的示例。这个示例中,我们将会用到 DateSimpleDateFormatCalendar 类,以实现计算两个日期之间的天数。

import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
  public static void main(String[] args) {
    try {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      Date date1 = sdf.parse("2020-01-01");
      Date date2 = sdf.parse("2021-01-01");

      Calendar cal1 = Calendar.getInstance();
      cal1.setTime(date1);
      Calendar cal2 = Calendar.getInstance();
      cal2.setTime(date2);

      int days = 0;
      while (cal1.compareTo(cal2) <= 0) {
        if (cal1.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY && cal1.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) {
          days++;
        }
        cal1.add(Calendar.DAY_OF_YEAR, 1);
      }
      System.out.println("两个日期之间的工作日数为:" + days);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

运行结果如下:

两个日期之间的工作日数为:261

这个示例中,我们首先使用 SimpleDateFormat 类将两个日期字符串转换成 Date 对象。接着,我们将这两个 Date 对象分别转换成 Calendar 对象,并比较它们之间的时间差,以计算出两个日期之间的天数。在计算的过程中,我们还需要排除周末,只计算工作日的数量。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门) - Python技术站

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

相关文章

  • Mybatis中设置全局变量的方法示例

    设置Mybatis的全局变量,需要在Mybatis的配置文件中进行配置。以下是设置Mybatis全局变量的步骤: 1. 在Mybatis的配置文件中添加标签,定义全局变量 <configuration> <properties> <property name="myVar1" value="100&…

    Java 2023年5月20日
    00
  • Java springboot 配置文件与多环境配置与运行优先级

    Java Spring Boot 是一个轻量级、快速开发微服务架构的框架,它提供了一种快速简便的方式来配置应用程序。不同的环境需要不同的配置,因此Spring Boot提供了多环境配置功能,同时我们也可以在配置文件中定制应用程序的运行优先级。 1. 配置文件 Spring Boot 提供了多种配置文件的支持,其中最常用的是 application.prope…

    Java 2023年5月19日
    00
  • spring mvc rest 接口选择性加密解密详情

    下面我会详细讲解“Spring MVC Rest 接口选择性加密解密”的攻略,过程中会包含两条示例说明。 简介 在 Web 开发中,为了使数据在传输过程中不被泄漏,我们通常采用加密方式来保护数据的安全性。针对 RESTful API,常见的加密方式有 HTTPS、RSA、AES 等。但是,在某些情况下不是所有的 API 都需要进行加密,因此我们需要一个通用的…

    Java 2023年5月19日
    00
  • Java SpringBoot 中的操作事务

    我们来详细讲解一下Java SpringBoot中的操作事务。 什么是事务 事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全部执行,要么全部不执行,如果在执行整个事务时发生错误,会回滚到事务的开始状态,使所有操作都回到事务执行之前的状态。 Spring 中如何使用事务 Spring 提供了一套完整的事务管理机制,其中最基础的是PlatformTr…

    Java 2023年5月19日
    00
  • Java语言的缺点是什么?

    Java作为一种非常流行的编程语言,它具有很多优点,但也有一些缺点。本文将详细讲解Java语言的缺点。 内存消耗较高 Java语言的内存消耗较高,这是由于Java程序在运行时需要将代码转换为字节码,然后再由JVM解释执行。这种过程需要占用大量的内存资源。另外,Java中的垃圾回收机制也会占用大量的内存。这些都会导致Java程序的内存占用较高,特别是在处理大量…

    Java 2023年4月27日
    00
  • Spring、SpringMVC和SpringBoot的区别及说明

    下面是关于“Spring、SpringMVC和SpringBoot的区别及说明”的完整攻略。 Spring、SpringMVC和SpringBoot的介绍 Spring Spring是一个企业级框架,主要用于开发Java应用程序。Spring框架提供了大量的功能,如依赖注入、面向切面编程、JDBC等等。Spring框架被设计为一个轻量级的框架,能够集成已有的…

    Java 2023年5月15日
    00
  • 浅析*NIX机器的入侵

    浅析*NIX机器的入侵 本文将从以下几个方面讲解*NIX机器的入侵: 前期准备:探测目标机器 信息采集:获取目标机器的信息 渗透攻击:通过漏洞攻击进入目标机器 后期控制:持久化控制目标机器 前期准备 探测目标机器的IP和操作系统是入侵的第一步,一般可以通过以下几种方式进行探测: 使用扫描器扫描目标机器的IP端口信息,例如使用nmap命令:nmap -sS -…

    Java 2023年6月16日
    00
  • 浅谈javaSE 面向对象(Object类toString)

    浅谈JavaSE面向对象(Object类toString) 什么是面向对象? 面向对象(OOP)是一种计算机编程方法,它基于对象、类和封装等概念。在面向对象编程中,使用对象来表示现实世界的实体,并使用类来描述对象的属性和行为。封装则是指:将数据和方法组合成类并隐藏其实现细节的过程。 Object类和toString方法 在Java中,所有的对象都继承自Obj…

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