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

yizhihongxing

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中Arrays数组工具类的基本使用详解

    Java中Arrays数组工具类的基本使用详解 简介 Arrays类是java.util包中提供的一个工具类。它针对数组提供了很多有用的方法。这些方法帮助我们完成了数组复制、排序、查找、修改等操作。通过使用Arrays类,用户能够在不使用检查或转换的情况下操作各种类型的数组。 Arrays类的常用方法 1.排序 使用Arrays类排序的方法,可以根据默认的升…

    Java 2023年5月26日
    00
  • Java实现表白小程序

    Java实现表白小程序攻略 1. 确定需求和目标 在开始编写代码前,应该先明确需求和目标。对于表白小程序,我们的需求和目标如下: 用户进入小程序后,可以看到表白页面,页面上包含一个文本框和一个表白按钮; 用户在文本框中输入自己的表白内容,点击表白按钮,即可将表白内容发送给指定人,同时跳转到感谢页面。 2. 确定技术栈 对于实现表白小程序,我们可以使用前端技术…

    Java 2023年5月23日
    00
  • 总结十个Angular.js由浅入深的面试问题

    下面是关于“总结十个Angular.js由浅入深的面试问题”的完整攻略,包含两个示例说明。 总结十个Angular.js由浅入深的面试问题 Angular.js是一个非常流行的JavaScript框架,它可以帮助我们更加方便地构建现代化的Web应用程序。在面试中,Angular.js是一个非常常见的话题。本文将总结十个Angular.js由浅入深的面试问题,…

    Java 2023年5月17日
    00
  • Java Mybatis框架由浅入深全解析下篇

    Java Mybatis框架由浅入深全解析下篇 本文将由浅入深地解析Java Mybatis框架,讲解Mybatis框架的基本原理、应用场景、核心组件以及使用技巧等内容。 Mybatis框架基本原理 Mybatis框架是一个轻量级的ORM框架,它将Java对象和SQL语句映射成为数据库操作语句。Mybatis框架通过映射文件将Java类和SQL语句进行映射,…

    Java 2023年6月2日
    00
  • 利用Maven入手Spring Boot第一个程序详解

    利用 Maven 入手 Spring Boot 第一个程序的攻略,可以分为以下几个步骤: 步骤一:创建项目 打开 IntelliJ IDEA 软件,选择 “New Project”。 选择 “Spring Initializr” 选项,然后点击 “Next”。 在 “Project SDK” 下拉框中选择相应的 JDK 版本,然后点击 “Next”。 输入项…

    Java 2023年5月20日
    00
  • SpringMVC拦截器快速掌握上篇

    下面是关于“SpringMVC拦截器快速掌握上篇”的完整攻略,希望能够对您有所帮助。 什么是SpringMVC拦截器 在SpringMVC框架中,拦截器是一个非常重要的组件,它可以让我们在请求到达Controller之前或者返回结果给客户端之前进行一些统一处理,比如日志记录、权限校验等。 SpringMVC拦截器的配置 配置SpringMVC拦截器很简单,只…

    Java 2023年5月16日
    00
  • springboot 2.x整合mybatis实现增删查和批量处理方式

    下面是“springboot 2.x整合mybatis实现增删查和批量处理方式”的完整攻略。 准备工作 在开始整合之前,需要确保已经添加了Spring Boot和MyBatis的依赖。 先来看一下pom.xml文件: <dependencies> <!–Spring Boot相关依赖–> <dependency> &l…

    Java 2023年5月20日
    00
  • java实现动态验证码

    这里是Java实现动态验证码的完整攻略。 什么是动态验证码 动态验证码是一种更加安全的验证码,在传统的验证码基础上增加了动态变化的效果,使得更难被机器人识别。 实现步骤 生成验证码 我们可以使用Java的第三方库生成验证码图片,代码如下所示: import cn.hutool.captcha.CaptchaUtil; import cn.hutool.cap…

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