dateFormatterEU.format(LocalDateTime.ofInstant(movingAverage.getFirstEntry().getTimestamp(), getSkinnable().getZoneId()))));
subTitleText.setText(dateFormatterEU.format(LocalDateTime.ofInstant(movingAverage.getLastEntry().getTimestamp(), getSkinnable().getZoneId())));
</BUG>
}
<BUG>} else {
lowText.setText(String.join(", ", String.format(locale, formatString, low),
timeFormatter.format(LocalDateTime.ofInstant(movingAverage.getFirstEntry().getTimestamp(), getSkinnable().getZoneId()))));
subTitleText.setText(timeFormatter.format(LocalDateTime.ofInstant(movingAverage.getLastEntry().getTimestamp(), getSkinnable().getZoneId())));
</BUG>
}

highText.setText(String.format(locale, formatString, high));
if (getSkinnable().getSubTitle().isEmpty()) {
if (null == movingAverage.getTimeSpan()) {
lowText.setText(String.format(locale, formatString, low));
} else {
long   timeSpan = movingAverage.getTimeSpan().getEpochSecond();
ZoneId zoneId   = getSkinnable().getZoneId();
if (timeSpan > 86400) {
if (Locale.US == locale) {
lowText.setText(String.join(", ", String.format(locale, formatString, low), dateFormatterUS.format(movingAverage.getFirstEntry().getTimestampAsDateTime(zoneId))));
subTitleText.setText(dateFormatterUS.format(movingAverage.getLastEntry().getTimestampAsDateTime(zoneId)));
} else {
lowText.setText(String.join(", ", String.format(locale, formatString, low), dateFormatterEU.format(movingAverage.getFirstEntry().getTimestampAsDateTime(zoneId))));
subTitleText.setText(dateFormatterEU.format(movingAverage.getLastEntry().getTimestampAsDateTime(zoneId)));
