JAVA学习进阶篇之时间与日期相关类

JAVA学习进阶篇之时间与日期相关类

Java中,有许多时间与日期相关的类,如DateCalendarSimpleDateFormat等,这些类能够方便地进行时间和日期的转换和操作。本篇文章将介绍Java中的时间与日期相关类的使用方法及其常用操作。

1. Date 类

Date 类是一个包含日期和时间的对象,在Java中非常基础和常用,可以用于表示当前时间或指定时间的日期。可以使用 Date() 构造器创建一个表示当前日期和时间的 Date 对象。也可以使用其他多个构造器来创建指定日期的 Date 对象。

示例1:使用 Date() 构造器创建对象

import java.util.Date;

public class DateExample {
   public static void main(String args[]) {
      // 创建一个 Date 对象,表示当前时间
      Date date = new Date();
      System.out.println("当前时间是: " + date);
   }
}

输出结果如下:

当前时间是: Fri Feb 18 17:13:32 CST 2022

Date 类提供了一些方法来获取或设置日期值,例如:

  • getTime():获取当前对象代表的时间的毫秒数。
  • setTime(long time):设置当前对象的时间值为指定的毫秒数。

示例2:获取和设置 Date 对象的时间值

import java.util.Date;

public class DateExample {
   public static void main(String args[]) {
      // 创建一个 Date 对象,表示当前时间
      Date date = new Date();
      // 获取当前时间的毫秒数
      long milliseconds = date.getTime();
      System.out.println("当前时间的毫秒数是: " + milliseconds);
      // 设置当前对象的时间值为指定的毫秒数
      date.setTime(1587938999000L);
      System.out.println("设置后的日期为:" + date);
   }
}

输出结果如下:

当前时间的毫秒数是: 1645181807932
设置后的日期为:Mon Apr 27 16:23:19 CST 2020

2. Calendar 类

Calendar类是一个抽象类,提供了处理和操作日期的方法,如获取特定时间的天数、星期、月份等。获取 Calendar 实例需要使用 getInstance() 方法,此方法会根据当前时区和当前语言环境返回一个 Calendar 对象。

示例1:获取指定年月的日历

import java.util.Calendar;

public class CalendarExample {
   public static void main(String[] args) {
      // 获取指定年月的日历
      Calendar calendar = Calendar.getInstance();
      calendar.set(2022, Calendar.JANUARY, 18);

      System.out.println("日期:" + calendar.getTime());
      System.out.println("星期:" + calendar.get(Calendar.DAY_OF_WEEK));
      System.out.println("月份:" + calendar.get(Calendar.MONTH));
      System.out.println("年份:" + calendar.get(Calendar.YEAR));
   }
}

输出结果如下:

日期:Mon Jan 18 16:42:13 CST 2022
星期:2
月份:0
年份:2022

使用 set() 方法设置新的日期时间值,获取不同属性表达式的方法如下:

  • Calendar.DAY_OF_WEEK获取当前日期的星期。
  • Calendar.MONTH获取当前日期的月份,返回的值从0表示1月,到11表示12月。
  • Calendar.YEAR获取当前日期的年份。

Calendar 类还提供了一些其他的方法,例如 add()roll() 方法可以增加或减少一段时间,它们的区别是 add() 方法会修改这个时间字段的值,而 roll() 方法则不会。

示例2:增加日期的操作

import java.util.Calendar;

public class CalendarExample {
   public static void main(String[] args) {
      // 获取当前的日期
      Calendar calendar = Calendar.getInstance();
      System.out.println("设置前的日期: " + calendar.getTime());

      // 增加一年
      calendar.add(Calendar.YEAR, 1);
      System.out.println("增加一年后的日期: " + calendar.getTime());

      // 增加一个月
      calendar.add(Calendar.MONTH, 1);
      System.out.println("增加一个月后的日期: " + calendar.getTime());

      // 增加一天
      calendar.add(Calendar.DATE, 1);
      System.out.println("增加一天后的日期: " + calendar.getTime());

      // 增加一个小时
      calendar.add(Calendar.HOUR, 1);
      System.out.println("增加一个小时后的日期: " + calendar.getTime());
   }
}

输出结果如下:

设置前的日期: Sat Feb 19 00:23:17 CST 2022
增加一年后的日期: Sun Feb 19 00:23:17 CST 2023
增加一个月后的日期: Sun Mar 19 00:23:17 CST 2023
增加一天后的日期: Mon Mar 20 00:23:17 CST 2023
增加一个小时后的日期: Mon Mar 20 01:23:17 CST 2023

3. SimpleDateFormat 类

SimpleDateFormat 类是 Java 中用于日期时间格式化的类,通过 SimpleDateFormat 可以将一个日期转换成指定格式的文本,或将一个指定格式的文本转换成日期。

示例1:将日期转换成指定格式的文本

import java.util.Date;
import java.text.SimpleDateFormat;

public class SimpleDateFormatExample {
   public static void main(String[] args) {
      Date date = new Date();
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      String time = sdf.format(date);
      System.out.println("当前时间为:" + time);
   }
}

输出结果如下:

当前时间为:2022-02-19 15:27:11

在上面的示例中,通过 SimpleDateFormatformat() 方法将当前时间转换为指定格式的文本,其中 yyyy 表示年份,MM 表示月份,dd 表示日期,HH 表示小时,mm 表示分钟,ss 表示秒。

示例2:将指定格式的文本转换成日期

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatExample {
   public static void main(String[] args) throws Exception {
      String time = "2022-02-19 15:27:11";
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date date = sdf.parse(time);
      System.out.println("转换后的日期为:" + date);
   }
}

输出结果如下:

转换后的日期为:Sat Feb 19 15:27:11 CST 2022

在上面的示例中,通过 SimpleDateFormatparse() 方法将指定格式的文本转换为日期对象。

总结

本文主要介绍了Java中的时间与日期相关类的使用方法及其常用操作。通过这些类,可以方便地对时间和日期进行转换和操作,为Java开发者提供了很大的便利。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA学习进阶篇之时间与日期相关类 - Python技术站

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

相关文章

  • Java jwt使用公钥字符串验证解析token锁方法详解

    下面是详细讲解“Java jwt使用公钥字符串验证解析token锁方法详解”的完整攻略。 一、什么是JWT JWT是一种开放的标准(RFC 7519),定义了一种简洁的、自包含的方式用于在各方之间传递信息。该信息可以被验证和信任,因为它是经过数字签名的。JWT可以使用对称加密和非对称加密两种方式进行签名,其中非对称加密使用公钥和私钥进行加密和解密。 JWT包…

    Java 2023年6月3日
    00
  • IO中flush()函数的使用代码示例

    下面是关于IO中flush()函数的详细讲解和使用代码示例的攻略,希望对您有所帮助。 什么是flush函数? 在IO流中,当我们向输出流中写入数据时,并不是每写一个字节就直接进入输出流中,而是先放进一个内部缓冲区中,当缓冲区被填满或者手动调用flush()函数,才会将数据真正地输出到目的地。 flush()函数就是用来手动清空缓冲区,强制将缓冲区中的内容输出…

    Java 2023年5月26日
    00
  • java实现简易计算器功能

    Java实现简易计算器功能 在Java中实现简易计算器功能可以通过控制台输入运算式并得到结果的方式实现。主要步骤包括解析输入的运算式、进行计算并返回结果。 解析运算式 为了解析运算式,需要将输入的运算式字符串转换成可计算的形式。可以使用Java自带的eval()方法进行转换,例如: ScriptEngineManager manager = new Scri…

    Java 2023年5月23日
    00
  • java 连接sql server2008数据库配置

    下面是详细讲解“Java 连接 SQL Server 2008 数据库配置”的完整攻略。 环境准备 首先,你需要有一个 SQL Server 2008 数据库,并且已经打开了 TCP/IP 协议,开放了端口。可以在 SQL Server Configuration Manager 中查看和修改。 其次,需要下载 SQL Server JDBC 驱动程序。可以…

    Java 2023年5月19日
    00
  • maven 在执行package,install,deploy时使用clean与不使用clean的不同之处

    Maven 是一种流行的项目管理工具,它以项目对象模型 (POM) 为基础,提供了一种标准化的方式来构建和管理项目。在执行 Maven 中的几个主要操作时,包括 package、install、deploy 等,我们可以使用 clean 来清理之前编译的产物,或者不使用 clean 来直接构建产物。使用或者不使用 clean 的主要区别在于编译产物是否被清理…

    Java 2023年5月19日
    00
  • Maven 仓库国内镜像源收藏(小结)

    Maven 仓库国内镜像源收藏(小结) 什么是 Maven 仓库? Maven 仓库是存储已构建的 Maven 项目的位置,可以简单地认为是包含依赖包的一个容器。 为什么需要 Maven 仓库国内镜像源? 默认情况下,Maven 仓库使用的是海外镜像源,下载速度较慢。使用国内镜像源能够提高构建项目的速度。因此,我们需要使用国内的镜像源来代替海外的。 如何使用…

    Java 2023年5月20日
    00
  • MVC+DAO设计模式下的设计流程详解

    MVC+DAO 是一种常用的设计模式,用于规范化代码的开发和维护,它能够分层,直观地体现出每一层的职责。下面是基于 MVC+DAO 设计模式的完整攻略: 1. MVC设计模式 MVC 分为 Model、View、Controller 三个部分。其中: Model:负责数据的存储和管理,不关心具体的业务逻辑,同样也不关心将数据如何展示给用户。 Controll…

    Java 2023年6月16日
    00
  • Redis妙用之存储用户token问题

    下面是关于“Redis妙用之存储用户token问题”的完整攻略。这是一个用Redis来存储用户token的应用场景,主要是为了解决分布式系统中的用户身份验证问题。 1. 背景介绍 在分布式系统中,使用token来进行用户身份验证是很常见的做法。当用户登录系统时,系统会创建一个token,并将该token返回给用户。用户在接下来的请求中,会在请求头或者请求体中…

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