Java获得当前时间前指定几个小时具体时间的方法示例

yizhihongxing

获取当前时间前几个小时的具体时间,可以用Java中的java.util.Calendarjava.time.LocalDateTime类。

用java.util.Calendar实现

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

public class GetTimeBeforeHours {
  public static void main(String[] args) {
    // 获取当前时间
    Calendar calendar = Calendar.getInstance();
    Date currentTime = calendar.getTime();
    System.out.println("当前时间: " + currentTime);

    // 获取当前时间前5小时的时间
    int hours = 5;
    calendar.add(Calendar.HOUR_OF_DAY, -hours);
    Date timeBefore5Hours = calendar.getTime();
    System.out.println("当前时间前" + hours + "小时的时间: " + timeBefore5Hours);
  }
}

输出结果:

当前时间: Sat Oct 09 17:25:44 CST 2021
当前时间前5小时的时间: Sat Oct 09 12:25:44 CST 2021

以上代码中,首先获取了当前时间,然后利用add()方法将小时数设为负数,即可得到指定小时数前的时间。最后调用getTime()方法获取日期类型。

用java.time.LocalDateTime实现

import java.time.LocalDateTime;

public class GetTimeBeforeHours {
  public static void main(String[] args) {
    // 获取当前时间
    LocalDateTime currentTime = LocalDateTime.now();
    System.out.println("当前时间: " + currentTime);

    // 获取当前时间前5小时的时间
    int hours = 5;
    LocalDateTime timeBefore5Hours = currentTime.minusHours(hours);
    System.out.println("当前时间前" + hours + "小时的时间: " + timeBefore5Hours);
  }
}

输出结果:

当前时间: 2021-10-09T17:26:10.150
当前时间前5小时的时间: 2021-10-09T12:26:10.150

以上代码中,利用LocalDateTime.now()获取当前时间,然后利用minusHours()方法将小时数设为负数,即可得到指定小时数前的时间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java获得当前时间前指定几个小时具体时间的方法示例 - Python技术站

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

相关文章

  • java 使用JDBC构建简单的数据访问层实例详解

    下面我来详细讲解如何使用Java JDBC构建简单的数据访问层实例。 1. JDBC概述 Java数据库连接(Java Database Connectivity,简称JDBC),是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,目前最新版是JDBC 4.3。 JDBC API提供了访问多种关系型数据库的标准方法,包括连接数据库、执行SQL语句…

    Java 2023年5月19日
    00
  • 简单学懂链式编程

    简单学懂链式编程 一句话定义 链式编程是一种编程风格,它允许在同一个对象上通过多个方法的调用链实现一系列操作,从而简化代码,提高可读性,和代码的可维护性。 一个流程看懂 创建对象 -> 连续调用对象方法 -> 返回对象本身 -> 使用对象方法获取属性或执行其他操作。 示例 public class Person { private Stri…

    Java 2023年4月22日
    00
  • Java多线程Future松获取异步任务结果轻松实现

    当我们在Java程序中执行耗时操作时,如果直接在主线程中执行,会导致程序阻塞,用户体验极差。为了解决这个问题,我们可以使用多线程技术,将耗时操作放在一个子线程中进行,以提高程序的响应速度。 在实际开发中,经常会遇到需要在主线程中获取子线程中执行任务的结果的场景。Java的Future接口提供了解决这个问题的方法。 下面是实现Java多线程Future获取异步…

    Java 2023年5月18日
    00
  • Java设计模式之模板方法详解

    Java设计模式之模板方法详解 什么是模板方法 模板方法模式是一种行为设计模式,它在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得可以在不改变算法结构的情况下重定义算法的某些步骤。 模板方法的实现 在Java中实现模板方法,需要按照以下步骤: 创建一个抽象类,定义一个模板方法(如templateMethod())作为算法的骨架,并包含其…

    Java 2023年5月19日
    00
  • SpringBoot整合Mybatis注解开发的实现代码

    接下来我将以以下步骤为例,详细讲解SpringBoot整合Mybatis注解开发的实现代码: 配置Mybatis 首先,在Spring Boot配置文件中添加Mybatis的相关配置,如下所示: mybatis: mapper-locations: classpath:mapper/*.xml configuration: map-underscore-to…

    Java 2023年5月20日
    00
  • Kotlin与Java的主客观对比分析

    Kotlin与Java的主客观对比分析 引言 Kotlin是一种针对Android开发的编程语言,它可以直接将Kotlin代码转换为Java字节码,因此可以与Java进行良好的兼容。本文将深入剖析Kotlin与Java在多个方面的对比分析。 语法 Kotlin相对于Java来说有更加简洁、直观的语法。Kotlin支持Lambda表达式、扩展函数、空安全等特性…

    Java 2023年6月1日
    00
  • 深入理解Java定时调度(Timer)机制

    深入理解Java定时调度(Timer)机制 什么是Java定时调度(Timer)机制? Java定时调度(Timer)机制是Java中的一个工具类,常用于在指定时间后运行代码或以固定间隔时间重复执行代码。 它通过创建一个线程来实现定时调度功能,其中的schedule()和scheduleAtFixedRate()方法提供了不同的时间调度方式。 schedul…

    Java 2023年5月20日
    00
  • Java多线程之线程安全问题详情

    Java多线程之线程安全问题详情 什么是线程安全问题? 在多线程并发执行的过程中,若多个线程会同时访问同一个共享的数据,就有可能出现线程安全问题。 这种问题常见的形式就是多个线程操作同一份数据时,会产生竞态条件(Race Condition),导致数据的状态被破坏。 线程安全问题包括但不限于: 数据竞争(Data Race) 重入锁问题(Reentrant …

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