diff --git a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart index d21fd535..5bfde5a0 100644 --- a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart +++ b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart @@ -852,7 +852,8 @@ class _ContractSigningPageState extends ConsumerState { /// 格式化日期时间 String _formatDateTime(DateTime? dateTime) { if (dateTime == null) return '-'; - return '${dateTime.year}-${dateTime.month.toString().padLeft(2, '0')}-${dateTime.day.toString().padLeft(2, '0')} ${dateTime.hour.toString().padLeft(2, '0')}:${dateTime.minute.toString().padLeft(2, '0')}'; + final local = dateTime.toLocal(); + return '${local.year}-${local.month.toString().padLeft(2, '0')}-${local.day.toString().padLeft(2, '0')} ${local.hour.toString().padLeft(2, '0')}:${local.minute.toString().padLeft(2, '0')}'; } /// 构建合同信息卡片 diff --git a/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_merge_detail_page.dart b/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_merge_detail_page.dart index decc72e1..f3e67c99 100644 --- a/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_merge_detail_page.dart +++ b/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_merge_detail_page.dart @@ -711,12 +711,13 @@ class _PrePlantingMergeDetailPageState ); } - /// 格式化日期时间 + /// 格式化日期时间(UTC → 本地时区) String _formatDateTime(DateTime dt) { - return '${dt.year}-${dt.month.toString().padLeft(2, '0')}-' - '${dt.day.toString().padLeft(2, '0')} ' - '${dt.hour.toString().padLeft(2, '0')}:' - '${dt.minute.toString().padLeft(2, '0')}'; + final local = dt.toLocal(); + return '${local.year}-${local.month.toString().padLeft(2, '0')}-' + '${local.day.toString().padLeft(2, '0')} ' + '${local.hour.toString().padLeft(2, '0')}:' + '${local.minute.toString().padLeft(2, '0')}'; } } diff --git a/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_position_page.dart b/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_position_page.dart index db46f247..2094d143 100644 --- a/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_position_page.dart +++ b/frontend/mobile-app/lib/features/pre_planting/presentation/pages/pre_planting_position_page.dart @@ -815,11 +815,12 @@ class _PrePlantingPositionPageState ); } - /// 格式化日期时间 + /// 格式化日期时间(UTC → 本地时区) String _formatDateTime(DateTime dt) { - return '${dt.year}-${dt.month.toString().padLeft(2, '0')}-' - '${dt.day.toString().padLeft(2, '0')} ' - '${dt.hour.toString().padLeft(2, '0')}:' - '${dt.minute.toString().padLeft(2, '0')}'; + final local = dt.toLocal(); + return '${local.year}-${local.month.toString().padLeft(2, '0')}-' + '${local.day.toString().padLeft(2, '0')} ' + '${local.hour.toString().padLeft(2, '0')}:' + '${local.minute.toString().padLeft(2, '0')}'; } } diff --git a/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_detail_page.dart b/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_detail_page.dart index 5f2b70d5..808b6fb2 100644 --- a/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_detail_page.dart +++ b/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_detail_page.dart @@ -649,8 +649,9 @@ class _TransferDetailPageState extends ConsumerState { } String _formatDateTime(DateTime dt) { - return '${dt.year}-${dt.month.toString().padLeft(2, '0')}-${dt.day.toString().padLeft(2, '0')} ' - '${dt.hour.toString().padLeft(2, '0')}:${dt.minute.toString().padLeft(2, '0')}'; + final local = dt.toLocal(); + return '${local.year}-${local.month.toString().padLeft(2, '0')}-${local.day.toString().padLeft(2, '0')} ' + '${local.hour.toString().padLeft(2, '0')}:${local.minute.toString().padLeft(2, '0')}'; } } diff --git a/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_list_page.dart b/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_list_page.dart index 9bd5e467..fe30c525 100644 --- a/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_list_page.dart +++ b/frontend/mobile-app/lib/features/transfer/presentation/pages/transfer_list_page.dart @@ -397,8 +397,9 @@ class _TransferListPageState extends ConsumerState } String _formatDateTime(DateTime dt) { - return '${dt.year}-${dt.month.toString().padLeft(2, '0')}-${dt.day.toString().padLeft(2, '0')} ' - '${dt.hour.toString().padLeft(2, '0')}:${dt.minute.toString().padLeft(2, '0')}'; + final local = dt.toLocal(); + return '${local.year}-${local.month.toString().padLeft(2, '0')}-${local.day.toString().padLeft(2, '0')} ' + '${local.hour.toString().padLeft(2, '0')}:${local.minute.toString().padLeft(2, '0')}'; } }