From e8b4dd53dbe512b34f9072a4b19a17da29c282fe Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Wed, 10 Sep 2025 19:04:12 +0200 Subject: [PATCH] use different date formatter if the item date is today --- .../de/unixwork/rssreader/MainWindow.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt index 14ed8c5..e1703c4 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt @@ -4,7 +4,6 @@ import de.unixwork.ui.ColumnType import de.unixwork.ui.SubListItem import de.unixwork.ui.TabViewType import de.unixwork.ui.TableModel -import de.unixwork.ui.UiInteger import de.unixwork.ui.UiList import de.unixwork.ui.UiString import de.unixwork.ui.UiText @@ -12,6 +11,7 @@ import de.unixwork.ui.kotlin.Toplevel import de.unixwork.ui.kotlin.sidebarWindow import de.unixwork.ui.kotlin.dialogWindow import de.unixwork.ui.kotlin.openFileDialog +import java.time.LocalDate import java.time.ZoneId import java.time.format.DateTimeFormatter @@ -20,8 +20,8 @@ class MainWindow() { val sourceList = FeedSourceList() val feedList = FeedList() - // TODO: date format config - val formatter = DateTimeFormatter.ofPattern(App.settings.dateFormat).withZone(ZoneId.systemDefault()) + val dateFormatter = DateTimeFormatter.ofPattern(App.settings.dateFormat).withZone(ZoneId.systemDefault()) + val dateTodayFormatter = DateTimeFormatter.ofPattern(App.settings.dateFormatToday).withZone(ZoneId.systemDefault()) var newFeedPrevGroup = 0 @@ -108,7 +108,18 @@ class MainWindow() { var result: String? = null when(col) { 0 -> result = elm.title - 1 -> result = formatter.format(elm.updated ?: elm.pubDate) + 1 -> { + val date = elm.updated ?: elm.pubDate + date?.let { + val localDate = date.atZone(ZoneId.systemDefault()).toLocalDate() + val now = LocalDate.now() + if(localDate.isEqual(now)) { + result = dateTodayFormatter.format(date) + } else { + result = dateFormatter.format(date) + } + } + } } result } -- 2.47.3