如何以一刻钟为周期打印时间(hh:mm)?
How to print times (hh:mm) in a quarter-hour cycle?
我基本上需要以 hh:mm 格式打印从 00:00 到 23:45 的一天中的每刻钟(所以 96 个不同的时间)以创建一个 html报告。是否有标准库可以做到这一点?或者换个方式?
PrintStream fillStatus = new PrintStream("Report.html");
for (int(int i=0; i <= 116; i++) {
jobStatus[] = FileMonitorLog.getStatusOfJob(i)
fillStatus.println("<tr >");
fillStatus.println("<td>"+hh:mmTime+"</td>");
for (quarter=0; quarter <= 96; quarter++) {
fillStatus.println("<td>"+getHtmlStatus(jobStatus[quarter])."</td>");
我不知道官方方法,但是两个 for 循环很快。
您当然可以使用日期和时间库做很多复杂的事情,但是既然可以轻松完成,为什么要让它变得困难呢?
在线查看:https://ideone.com/swFbz2
String[] quarters = {"00", "15", "30", "45"};
ArrayList<String> hours = new ArrayList<>(24*4);
for(int i = 0; i < 24; i++) {
for(int j = 0; j < 4; j++) {
hours.add((i < 10 ? "0" + i : i) + ":" + quarters[j]);
}
}
ArrayList<String> output = new ArrayList<>();
for (int i=0; i <= 10; i++) {
output.add("<tr >");
output.add(" <td>thingy/td>");
for (int quarter=0; quarter < 24*4; quarter++) {
output.add(" <td>"+hours.get(quarter)+" jobstatus is perfectly fine.... believe me.</td>");
}
output.add("</tr>");
}
//System.out.println(String.join("\n",hours));
System.out.println(String.join("\n", output));
可以使用 java.time.LocalTime
:
var time = LocalTime.MIN;
do {
System.out.println(time);
time = time.plusMinutes(15);
} while (!time.equals(LocalTime.MIN));
也可以用for
循环来完成,只是考虑到LocalTime
不接受24:00
,所以23:45 + 0:15
导致00:00
。
如果秒和秒的小数部分为零,LocalTime.toString()
使用的默认格式是 HH:MM
。 DateTimeFormat
可用于使用不同的格式来格式化齿。
我基本上需要以 hh:mm 格式打印从 00:00 到 23:45 的一天中的每刻钟(所以 96 个不同的时间)以创建一个 html报告。是否有标准库可以做到这一点?或者换个方式?
PrintStream fillStatus = new PrintStream("Report.html");
for (int(int i=0; i <= 116; i++) {
jobStatus[] = FileMonitorLog.getStatusOfJob(i)
fillStatus.println("<tr >");
fillStatus.println("<td>"+hh:mmTime+"</td>");
for (quarter=0; quarter <= 96; quarter++) {
fillStatus.println("<td>"+getHtmlStatus(jobStatus[quarter])."</td>");
我不知道官方方法,但是两个 for 循环很快。
您当然可以使用日期和时间库做很多复杂的事情,但是既然可以轻松完成,为什么要让它变得困难呢?
在线查看:https://ideone.com/swFbz2
String[] quarters = {"00", "15", "30", "45"};
ArrayList<String> hours = new ArrayList<>(24*4);
for(int i = 0; i < 24; i++) {
for(int j = 0; j < 4; j++) {
hours.add((i < 10 ? "0" + i : i) + ":" + quarters[j]);
}
}
ArrayList<String> output = new ArrayList<>();
for (int i=0; i <= 10; i++) {
output.add("<tr >");
output.add(" <td>thingy/td>");
for (int quarter=0; quarter < 24*4; quarter++) {
output.add(" <td>"+hours.get(quarter)+" jobstatus is perfectly fine.... believe me.</td>");
}
output.add("</tr>");
}
//System.out.println(String.join("\n",hours));
System.out.println(String.join("\n", output));
可以使用 java.time.LocalTime
:
var time = LocalTime.MIN;
do {
System.out.println(time);
time = time.plusMinutes(15);
} while (!time.equals(LocalTime.MIN));
也可以用for
循环来完成,只是考虑到LocalTime
不接受24:00
,所以23:45 + 0:15
导致00:00
。
如果秒和秒的小数部分为零,LocalTime.toString()
使用的默认格式是 HH:MM
。 DateTimeFormat
可用于使用不同的格式来格式化齿。