当前位置: 首页 > 面试题库 >

如何比较当前时间和时间范围?

邵宏达
2023-03-14
问题内容

我有两个String变量- time1time2。两者都包含格式为 HH:MM的值 。我该如何检查:

  1. 如果当前的时间内 time1time2?
  2. time1 会在最近一小时发生吗?

更新。 我实现了以下内容以转换time1Date格式。但是它使用折旧方法:

Date clTime1 = new Date();

SimpleDateFormat timeParser = new SimpleDateFormat("HH:mm", Locale.US);
try {
  clTime1 = timeParser.parse(time1);
} catch (ParseException e) {
}

Calendar now = Calendar.getInstance();
clTime1.setYear(now.get(Calendar.YEAR) - 1900);
clTime1.setMonth(now.get(Calendar.MONTH));
clTime1.setDate(now.get(Calendar.DAY_OF_MONTH));
System.out.println(clTime1.toString());

问题答案:
  • 将两个字符串转换为Date 对象(也是时间对象)创建一个新Date对象。
  • 这将包含当前时间。
  • 使用Date.before()和Date.after()方法来确定您是否在时间间隔内。

编辑:您应该能够直接使用此方法(并且不建议使用不推荐使用的方法)

public static final String inputFormat = "HH:mm";

private Date date;
private Date dateCompareOne;
private Date dateCompareTwo;

private String compareStringOne = "9:45";
private String compareStringTwo = "1:45";

SimpleDateFormat inputParser = new SimpleDateFormat(inputFormat, Locale.US);

private void compareDates(){
    Calendar now = Calendar.getInstance();

    int hour = now.get(Calendar.HOUR);
    int minute = now.get(Calendar.MINUTE);

    date = parseDate(hour + ":" + minute);
    dateCompareOne = parseDate(compareStringOne);
    dateCompareTwo = parseDate(compareStringTwo);

    if ( dateCompareOne.before( date ) && dateCompareTwo.after(date)) {
        //yada yada
    }
}

private Date parseDate(String date) {

    try {
        return inputParser.parse(date);
    } catch (java.text.ParseException e) {
        return new Date(0);
    }
}


 类似资料:
  • 问题内容: 我正在设计一个调度程序,并使用石英库。我想检查cron表达式时间是否是将来的时间,否则将根本不会执行触发器。有什么方法可以将cron表达式时间与Java中的当前时间进行比较。 问题答案: 需要考虑的是,标准的有效cron表达式将始终引用将来的有效时间。需要说明的是,Quartz cron表达式可能包含一个可选的Year字段,该字段可以是过去的以及将来的。 要检查表达式的有效性,您可以构

  • 我在试着比较时间和瞬间。这是我的剧本 这是我的表格 从< code > console . log(today . format(" hh:mm "))我得到这个结果< code>01:44。 在上面的脚本中,我总是转到<code>或<code>,因此有任何方法可以修复它吗? 这是我的小提琴 https://jsfiddle.net/s9wfh9ye/33/ 我的更新问题

  • 问题内容: 以我想使其正常工作的方式,这可能是不可能的,但是可以了。 数据库中的条目是: 但是,查询不返回任何结果。当然,如果涉及到日期,这将起作用,但是没有涉及。如果开始= ‘00:00:00’,它也将起作用。 问题答案: 我认为您正在寻找的是: 我不确定您是否需要使用CAST,尽管这也可以工作。

  • 问题内容: 我有时间,必须由用户以这种格式输入。 但是,我想比较上午10点到下午6点之间的时间(例如11:22)?但是,我该如何比较呢? 问题答案: Java还没有一个好的内置类(它有一个用于JDBC查询的类,但这不是你想要的)。 一种选择是使用JodaTime API和它的本地时间类。 只使用内置的Java API,就只能使用java.util.Date。你可以使用SimpleDateForma

  • 问题内容: 我试图创建简单的功能,只是将一个时间的时区更改为另一个时区(假设UTC为+0700 WIB)。这是源代码。我有2个函数,第一个将具有相同日期时间的时区更改为+0700 WIB。其次是将给定时间的时区更改为。可以完美地工作,而另一个则不能。 将始终对这个结果fullfilled。 但这是同一时间吗?我错过了什么? 问题答案: 有一种比较日期的方法: 引用文档: 请注意,Go ==运算符不

  • 问题内容: 如何在PHP中比较时间? 我想这样说: 上面的代码无法正常打印。我期望如此。 问题答案: $ThatTime =”14:08:10”; if (time() >= strtotime($ThatTime)) { echo “ok”; } 使用(也考虑时区)的解决方案。