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日

相关文章

  • 使用异步controller与jQuery实现卷帘式分页

    下面我来详细讲解如何使用异步controller与jQuery实现卷帘式分页的完整攻略。 什么是卷帘式分页? 卷帘式分页是一种网页分页的效果。就是当我们向下滑动网页的时候,在页面底部会自动加载新的内容,实现不间断的加载效果,类似于卷帘拉开的效果。这种效果可以让用户更加流畅地查看网页内容,提高用户体验。 使用异步controller实现卷帘式分页 异步cont…

    Java 2023年5月19日
    00
  • 解决Android 源码编译错误的问题

    解决Android源码编译错误的问题需要我们进行一些常见的处理方法。 1. 安装依赖包 在编译Android源码之前,我们需要安装一些依赖包,以确保编译过程中不会出错。常见的依赖包有如下几种: $ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl z…

    Java 2023年5月26日
    00
  • Java线程的三种创建方式

    Java线程的创建方式一般有三种,分别是继承Thread类、实现Runnable接口和实现Callable接口。下面我们一一进行讲解。 一、继承Thread类 该方式最简单的方式就是继承Thread类,然后重写run方法,在run方法中编写线程执行的任务。 public class MyThread extends Thread { @Override pu…

    Java 2023年5月18日
    00
  • Java IO流 文件传输基础

    Java IO流 文件传输基础 IO流是Java中常用的文件传输方式,它以字节流或字符流为单位进行文件的读写操作。一般来说,文件的读入和写出都会用到IO流。本篇攻略主要介绍Java中IO流文件传输的基础知识。 基本功能 Java IO流的基本功能包括: 数据的读入与写出; 字符集的转换; 数据编码与解码; 缓冲区的使用; 字节流和字符流的转换。 文件读写 文…

    Java 2023年5月20日
    00
  • 详解springboot项目带Tomcat和不带Tomcat的两种打包方式

    下面是关于“详解Spring Boot项目带Tomcat和不带Tomcat的两种打包方式”的完整攻略。 1. 带Tomcat的打包方式 1.1. 导入Tomcat依赖 首先,在你的Spring Boot项目中,需要导入Tomcat的依赖。具体来说,需要在pom.xml文件中添加如下代码: <dependency> <groupId>o…

    Java 2023年5月19日
    00
  • Java输入数据的知识点整理

    Java输入数据的知识点整理 在Java编程中,输入数据是非常重要的一部分,如果没有正确的输入数据,程序很难执行下去。本文将详细介绍Java输入数据的知识点整理,包括以下内容: Java.util.Scanner类 标准输入流和标准输出流 System.console()方法 示例说明 Java.util.Scanner类 Scanner类为读取用户输入提供…

    Java 2023年5月26日
    00
  • WIN10环境 Maven的安装与配置详细教程

    下面是WIN10环境 Maven的安装与配置详细教程的完整攻略: 概述 Maven是一个基于Java的自动化构建工具,用于管理Java项目的构建、文档生成和依赖管理等。在WIN10环境下,需要完成Maven的安装和配置。 步骤 1. 下载和安装JDK 在使用Maven之前,需要先安装JDK(Java Development Kit)。建议下载Oracle J…

    Java 2023年5月19日
    00
  • 为什么继续选择DELPHI(即将逝去的Delphi前景在何方)

    为什么继续选择DELPHI(即将逝去的Delphi前景在何方) 背景 Delphi是一种基于Object Pascal编程语言的集成开发环境,由Borland公司在1995年发布。自发布以来,Delphi为数不少的开发者提供了稳定快捷、功能丰富的编程环境。然而,随着新的技术不断涌现,Delphi市场份额逐渐萎缩,导致一些人对其前景存在疑虑。但是,选择Delp…

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