我需要创建一个具有特定日期和时间的日历。
private void setNotification(String date, String time) {
Log.i("log", "1");
//Get date & time
String[] dateArr = date.split(".");
String[] timeArr = date.split(":");
Log.i("log", "2");
//Set calender to lesson's date & time
Calendar cal = Calendar.getInstance();
cal.set(Integer.valueOf(dateArr[2]), Integer.valueOf(dateArr[1]) - 1, Integer.valueOf(dateArr[0]), Integer.valueOf(timeArr[0]), Integer.valueOf(timeArr[1]));
Log.i("log", "3");
//Schedule notification
scheduleNotification(CreateNewLesson.this, cal.getTimeInMillis() - Calendar.getInstance().getTimeInMillis(), Integer.valueOf(dateArr[0] + dateArr[1] + dateArr[2] + timeArr[0] + timeArr[1]));
}
日期字符串格式为DD.MM.YYYY,时间为HH:MM,当我调用该函数时,我可以看到" 2"记录而不是" 3"。
为什么会这样?
答案 0 :(得分:0)
您可以使用SimpleDateFormat
来解析日期和时间。像
DateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(sdf.parse(String.format("%s %s", date, time)));
// use cal....
} catch (ParseException e) {
e.printStackTrace();
}