Files
MWClash/lib/common/datetime.dart
chen08209 7ea226ef4a Add one-click update all profiles
Add expire show
2024-06-08 15:04:18 +08:00

43 lines
1.2 KiB
Dart

import 'package:fl_clash/common/app_localizations.dart';
extension DateTimeExtension on DateTime {
bool get isBeforeNow {
return isBefore(DateTime.now());
}
bool isBeforeSecure(DateTime? dateTime) {
if (dateTime == null) {
return false;
}
return true;
}
String get lastUpdateTimeDesc {
final currentDateTime = DateTime.now();
final difference = currentDateTime.difference(this);
final days = difference.inDays;
if (days >= 365) {
return "${(days / 365).floor()} ${appLocalizations.years}${appLocalizations.ago}";
}
if (days >= 30) {
return "${(days / 30).floor()} ${appLocalizations.months}${appLocalizations.ago}";
}
if (days >= 1) {
return "$days ${appLocalizations.days}${appLocalizations.ago}";
}
final hours = difference.inHours;
if (hours >= 1) {
return "$hours ${appLocalizations.hours}${appLocalizations.ago}";
}
final minutes = difference.inMinutes;
if (minutes >= 1) {
return "$minutes ${appLocalizations.minutes}${appLocalizations.ago}";
}
return appLocalizations.just;
}
String get show {
return toIso8601String().substring(0, 10);
}
}