我想编写两种方法,它们都依赖于一天中还剩多少时间的信息(到一天结束还剩多少秒,以及一天中已经过去了多少百分比) . 不同的日子有不同的(有时只是)秒,有时是几个小时,所以我只依靠 24 * 60 * 60 并减去 sinceMidnight() 的结果对我来说是行不通的。我试图在当前时间上增加一天,但到目前为止我失败了。
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
public class TimesOfSeconds {
public static void sinceMidnight(int intHours, int intMinutes, int intSeconds) {
int hoursInSeconds = intHours * 60 * 60;
int minutesInSeconds = intMinutes * 60;
int secondsSinceMidnight = hoursInSeconds + minutesInSeconds + intSeconds;
System.out.println(secondsSinceMidnight + " Seconds since Midnight!");
}
public static void tillEndOfDay() {
}
public static void percentOfDayPassed() {
}
public static void getTheTimeRight(int intHours, int intMinutes, int intSeconds) {
System.out.println(intHours + " " + intMinutes + " " + intSeconds);
}
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat justHours = new SimpleDateFormat("HH");
int intHours = Integer.parseInt(justHours.format(cal.getTime()));
SimpleDateFormat justMinutes = new SimpleDateFormat("mm");
int intMinutes = Integer.parseInt(justMinutes.format(cal.getTime()));
SimpleDateFormat justSeconds = new SimpleDateFormat("ss");
int intSeconds = Integer.parseInt(justSeconds.format(cal.getTime()));
getTheTimeRight(intHours, intMinutes, intSeconds);
sinceMidnight(intHours, intMinutes, intSeconds);
}
}