tasq/lib/utils/app_time.dart
2026-02-11 20:12:48 +08:00

31 lines
726 B
Dart

import 'package:timezone/data/latest.dart' as tz;
import 'package:timezone/timezone.dart' as tz;
class AppTime {
static bool _initialized = false;
static void initialize({String location = 'Asia/Manila'}) {
if (_initialized) return;
tz.initializeTimeZones();
tz.setLocalLocation(tz.getLocation(location));
_initialized = true;
}
static DateTime now() {
return tz.TZDateTime.now(tz.local);
}
static DateTime nowUtc() {
return now().toUtc();
}
static DateTime toAppTime(DateTime value) {
final utc = value.isUtc ? value : value.toUtc();
return tz.TZDateTime.from(utc, tz.local);
}
static DateTime parse(String value) {
return toAppTime(DateTime.parse(value));
}
}