【发布时间】:2021-11-22 19:22:43
【问题描述】:
我需要一些基本的帮助来格式化日期/时间,以便我可以将它添加到我的 JFreeChart TimeSeries。因为我的代码添加了重复项,所以我在第二次循环中得到了错误。
我有一个我们在医疗保健中使用的温度传感器,我需要绘制每 30 分钟读取一次的温度。所以我需要我的 x 轴是月-日-小时-分钟,但我只是不知道如何正确格式化我的时间。下面的行是我遇到的具体问题是“ timeSeries.add(new Day(gc.getTime()), temp );”
自从大学以来已经很长时间了,所以我很抱歉,我想我很接近但无法缩小差距。任何帮助将不胜感激。
谢谢!升
输出
2021 年 11 月 20 日星期六 12:41:00 PST:72.5 F
TimeSeries.add 2021 年 11 月 20 日
2021 年 11 月 20 日星期六 13:11:00 PST:70.7 F
TimeSeries.add 2021 年 11 月 20 日
添加重复项时出现运行时错误
线程“main”org.jfree.data.general.SeriesException 中的异常:您正在尝试添加 2021 年 11 月 20 日期间的观察,但该系列已包含该时间段的观察。不允许重复。尝试使用 addOrUpdate() 方法。
at org.jfree.data.time.TimeSeries.add(TimeSeries.java:701)
at org.jfree.data.time.TimeSeries.add(TimeSeries.java:746)
at org.jfree.data.time.TimeSeries.add(TimeSeries.java:732)
at dumpMission.main(dumpMission.java:212)
TimeSeries timeSeries = new TimeSeries("Date");
TimeSeriesCollection timeSeriesCollectionTemps = new TimeSeriesCollection();
long time = time_stamp.getTime().getTime() + owc.getFirstLogOffset(state);
GregorianCalendar gc = new GregorianCalendar();
for (int i = 0; i < log.length; i++){
gc.setTime(new Date(time));
System.out.println(gc.getTime() + ": " + Convert.toFahrenheit(owc.decodeTemperature(log [i])) + " F");
time += sample_rate * 60 * 1000;
double temp = Convert.toFahrenheit(owc.decodeTemperature(log [i]));
System.out.println("TimeSeries.add " + new Day(gc.getTime()));
//add needs org.jfree.data.time.RegularTimePeriod
//need to plot month-day-hour-minute
timeSeries.add(new Day(gc.getTime()), temp ); // NEED HELP to get into unique month/day/hour/minute
timeSeriesCollectionTemps.addSeries(timeSeries);
}
【问题讨论】:
标签: java datetime jfreechart