Java 获取历史时间方法

本文介绍两个 Java 方法:getHistoryTimegetYesterdayTime,用于获取当前小时之前和昨天的特定时间。

获取当前小时之前的时间

public static String getHistoryTime(Integer his) {
    // 获取当前系统时间
    Calendar calendar = Calendar.getInstance();
    // 将当前时间向前调整his个小时
    calendar.add(Calendar.HOUR_OF_DAY, his);
    Date before = calendar.getTime();

    // 获取前3个小时整点时间
    calendar.setTime(before);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    Date beforeRounded = calendar.getTime();

    // 格式化时间为字符串
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String formattedTime = formatter.format(beforeRounded);
    return formattedTime;
}

获取昨天的 当前小时之前的时间

public static String getYesterdayTime(Integer his) {
    // 获取当前系统时间
    Calendar calendar = Calendar.getInstance();
    // 将当前时间向前调整1天
    calendar.add(Calendar.DAY_OF_MONTH, -1);
    Date yesterday = calendar.getTime();

    // 将昨天的日期设置为当前小时之前的时间
    calendar.setTime(yesterday);
    calendar.add(Calendar.HOUR_OF_DAY, his);
    Date before = calendar.getTime();

    // 格式化时间为字符串
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String formattedTime = formatter.format(before);
    return formattedTime;
}

这两个方法使用 Calendar 类进行时间操作,并使用 SimpleDateFormat 格式化时间为字符串。 getHistoryTime 方法可以获取当前小时之前的时间,而 getYesterdayTime 方法可以获取昨天的特定时间。

使用方法:

String historyTime = getHistoryTime(3); // 获取当前时间3小时之前的时间
String yesterdayTime = getYesterdayTime(10); // 获取昨天10点的时间

注意:

  • his 参数表示要获取的时间距离当前时间或昨天的小时数,可以为正数或负数。
  • 两个方法都默认返回 yyyy-MM-dd HH:mm:ss 格式的时间字符串。
Java 获取历史时间方法 - 获取当前小时之前和昨天的特定时间

原文地址: https://www.cveoy.top/t/topic/qxSQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录