Java 将给定的字符串答案与实际时间进行比较?

Java 将给定的字符串答案与实际时间进行比较?,java,string,time,compare,comparison,Java,String,Time,Compare,Comparison,所以我基本上希望有人通过输入实际时间来回答这个问题。然后我想把它和当前的准确时间进行比较,然后说它是真的还是假的 您可以让用户以特定格式输入日期和时间,然后在camparison中使用良好的旧equals。 例如,我在这里使用的是YYYY-MM-DD HH:MM,SimpleDataFormat帮助我解析日期 public static void time (String[] args) { DateFormat df = new SimpleDateFormat("HH:mm");

所以我基本上希望有人通过输入实际时间来回答这个问题。然后我想把它和当前的准确时间进行比较,然后说它是真的还是假的

您可以让用户以特定格式输入日期和时间,然后在camparison中使用良好的旧equals。 例如,我在这里使用的是YYYY-MM-DD HH:MM,SimpleDataFormat帮助我解析日期

public static void time (String[] args) {
    DateFormat df = new SimpleDateFormat("HH:mm");
    Date date = new Date();
    }
}

public class test {
    public static void main (String[] args) {
    System.out.println("What time is it?");
    int time = scan.nextInt();
    if(time = date) {                       // I know it's not correct but you get what I want
    System.out.println("That's right");
    else {
    ....
    }
    }
    }
}

您可以让用户以特定格式输入日期和时间,然后在camparison中使用良好的旧equals。 例如,我在这里使用的是YYYY-MM-DD HH:MM,SimpleDataFormat帮助我解析日期

public static void time (String[] args) {
    DateFormat df = new SimpleDateFormat("HH:mm");
    Date date = new Date();
    }
}

public class test {
    public static void main (String[] args) {
    System.out.println("What time is it?");
    int time = scan.nextInt();
    if(time = date) {                       // I know it's not correct but you get what I want
    System.out.println("That's right");
    else {
    ....
    }
    }
    }
}

我将使用
java.time.LocalTime

publicstaticvoidmain(字符串[]args){
字符串suppliedTimeString=args[0];
LocalTime suppliedTime=LocalTime.parse(suppliedTimeString);
LocalTime currentTime=LocalTime.now().truncatedTo(ChronoUnit.MINUTES);
如果(提供的时间比较到(当前时间)==0){
System.out.println(“没错”);
}否则{
System.out.println(“这是错误的”);
}
}

我将使用
java.time.LocalTime

publicstaticvoidmain(字符串[]args){
字符串suppliedTimeString=args[0];
LocalTime suppliedTime=LocalTime.parse(suppliedTimeString);
LocalTime currentTime=LocalTime.now().truncatedTo(ChronoUnit.MINUTES);
如果(提供的时间比较到(当前时间)==0){
System.out.println(“没错”);
}否则{
System.out.println(“这是错误的”);
}
}

要比较日期,可以使用以下方法:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;


public class CheckTime {
    public static void main(String[] args) {
        //Start your scanner
        Scanner scan = new Scanner(System.in);
        System.out.println("What time is it?");
        DateFormat df = new SimpleDateFormat("HH:mm");
        Date date = new Date();

        //Read the entire line as a String
        String time = scan.nextLine();

        //Format your datatetim in HH:mm format and compare the strings
        if (time.equals(df.format(date))) {                       // I know it's not correct but you get what I want
            System.out.println("That's right");
        } else {
            System.out.println("That's wrong");
        }
        //Never forget to close your scanner
        scan.close();
    }
}

这可用于将输入解析为LocalDateTime:

    private static boolean compareDateWithVariance(LocalDateTime date1, LocalDateTime date2, Long varianceInSeconds){
  return date1.isAfter(date2.minusSeconds(varianceInSeconds)) && date1.isBefore(date2.plusSeconds(varianceInSeconds)) ;
}

对于比较日期,您可以使用以下方法:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;


public class CheckTime {
    public static void main(String[] args) {
        //Start your scanner
        Scanner scan = new Scanner(System.in);
        System.out.println("What time is it?");
        DateFormat df = new SimpleDateFormat("HH:mm");
        Date date = new Date();

        //Read the entire line as a String
        String time = scan.nextLine();

        //Format your datatetim in HH:mm format and compare the strings
        if (time.equals(df.format(date))) {                       // I know it's not correct but you get what I want
            System.out.println("That's right");
        } else {
            System.out.println("That's wrong");
        }
        //Never forget to close your scanner
        scan.close();
    }
}

这可用于将输入解析为LocalDateTime:

    private static boolean compareDateWithVariance(LocalDateTime date1, LocalDateTime date2, Long varianceInSeconds){
  return date1.isAfter(date2.minusSeconds(varianceInSeconds)) && date1.isBefore(date2.plusSeconds(varianceInSeconds)) ;
}

非常感谢你!非常感谢你!谢谢,这真的帮了我的忙@MyaMeS16Bug考虑在格式化程序中使用H:MM,如果你想及时摆脱前导零点(如果你想使用更人性化的8:06而不是08:06)谢谢,那真的帮助了我!MyaMeS16Bug考虑在格式化程序中使用H:MM,如果你想及时去除前导零点(如果你想使用更人性化的8:06而不是08:06),日期格式是什么?你在比较不同的日期格式吗?什么是日期格式?你在比较不同的日期格式吗?