不能强制日历更改时间

Cant force Calendar to change its time

我正在尝试获取当前日期并将时间设置为 20:00 我能够得到它,我的代码没有设置时间,但也没有错误。如果我调试它,小时数仍然是当前时间。你们能帮帮我吗?

 Calendar cal = Calendar.getInstance();
    String monthS = toString().valueOf(cal.get(Calendar.MONTH));
    String dayS = toString().valueOf(cal.get(Calendar.DAY_OF_MONTH));
  //  int hourI = cal.get(Calendar.HOUR_OF_DAY);
  //  int minI = cal.get(Calendar.MINUTE);
    String yearS = toString().valueOf(cal.get(Calendar.YEAR));






    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd HH:mm yyyy");
    try
    {
        cal.setTime(sdf.parse(monthS + " " + dayS + " " + "20:00" + yearS));

    } catch (ParseException e)
    {
        e.printStackTrace();
    }

试试这个

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 20);
cal.set(Calendar.MINUTE, 00);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

如果月份是 X (1),请尝试 M 而不是 MMM,如果月份是 XX (01),请尝试 MM

MMM代表Jan...Dec

我用这个修复了它

Calendar cal = Calendar.getInstance();
    long currentMil = cal.getTimeInMillis();
    int hourI = cal.get(Calendar.HOUR_OF_DAY);

    while (hourI <19)
    {
        currentMil = currentMil + ONE_HOUR;
        hourI ++;
    }
    System.out.println(currentMil);