From ff74888996703257f31aa463c731802b811d0ad5 Mon Sep 17 00:00:00 2001 From: Syaroful Date: Tue, 12 Nov 2024 10:53:31 +0700 Subject: [PATCH] feat: add timeAgo extention --- .../lib/core/extension/extention.dart | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/agrilink_vocpro/lib/core/extension/extention.dart b/agrilink_vocpro/lib/core/extension/extention.dart index cb84c9e..9d0057f 100644 --- a/agrilink_vocpro/lib/core/extension/extention.dart +++ b/agrilink_vocpro/lib/core/extension/extention.dart @@ -34,3 +34,32 @@ String getGreeting(String time) { return 'Selamat Malam'; } } + +String timeAgo(String? dateString) { + if (dateString == null) { + return ''; + } + DateTime date = DateTime.parse(dateString); + DateTime now = DateTime.now(); + + Duration difference = now.difference(date); + + if (difference.inMinutes < 1) { + return "Baru saja"; + } else if (difference.inMinutes < 60) { + return "${difference.inMinutes} menit yang lalu"; + } else if (difference.inHours < 24) { + return "${difference.inHours} jam yang lalu"; + } else if (difference.inDays < 7) { + return "${difference.inDays} hari yang lalu"; + } else if (difference.inDays < 30) { + int weeks = (difference.inDays / 7).floor(); + return "$weeks minggu yang lalu"; + } else if (difference.inDays < 365) { + int months = (difference.inDays / 30).floor(); + return "$months bulan yang lalu"; + } else { + int years = (difference.inDays / 365).floor(); + return "$years tahun yang lalu"; + } +}