不能强制日历更改时间
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);
我正在尝试获取当前日期并将时间设置为 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);