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)); } }