有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

datetime将HTML时间转换为Java时间对象

我从html5输入类型中获取开始时间和结束时间值。我在Servlet中以字符串形式获取它

我想将其转换为Java日期对象,这样我就可以使用诸如before和after之类的方法来比较时间

    String startTimeValue = request.getParameter("startTime");
    String endTimeValue = request.getParameter("endTime");
    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
    Date startTime = sdf.parse(startTimeValue);
    Date endTime = sdf.parse(endTimeValue);
    sdf.format(startTime);
    sdf.format(endTime);
    System.out.println(endTime.before(startTime));

任何帮助都将不胜感激


共 (2) 个答案

  1. # 1 楼答案

       I think you can do parsing right.
        String DateString = request.getParameter("date");
        //SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        Date date = sdf.parse(myDateString);
    
        Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
        calendar.setTime(date);   // assigns calendar to given date 
        int hour = calendar.get(Calendar.HOUR);
        int minute; /... similar methods for minutes and seconds
    
  2. # 2 楼答案

    我使用以下代码片段实现它

        String startTimeValue = request.getParameter("startTime");
        String endTimeValue = request.getParameter("endTime");
    
        String[] time1 = startTimeValue.split(":");
        Date date1 = new Date();
        date1.setHours(Integer.parseInt(time1[0]));
        date1.setMinutes(Integer.parseInt(time1[1]));
        date1.setSeconds(0);
        String[] time2 = endTimeValue.split(":");
        Date date2 = new Date();
        date2.setHours(Integer.parseInt(time2[0]));
        date2.setMinutes(Integer.parseInt(time2[1]));
        date2.setSeconds(0);
    
        System.out.println(date2.after(date1));