fix(kline): convert time to local timezone for display

- Added toLocal() conversion in _formatTimeLabel (painter)
- Added toLocal() conversion in _formatDateTime (widget)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-19 21:55:56 -08:00
parent 900ba4a555
commit 99c1ff1fb7
2 changed files with 9 additions and 5 deletions

View File

@ -673,7 +673,9 @@ class _KlineChartWidgetState extends State<KlineChartWidget> {
} }
String _formatDateTime(DateTime time) { String _formatDateTime(DateTime time) {
return '${time.month}/${time.day} ${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}'; //
final localTime = time.toLocal();
return '${localTime.month}/${localTime.day} ${localTime.hour.toString().padLeft(2, '0')}:${localTime.minute.toString().padLeft(2, '0')}';
} }
double _calcPriceY(double price, double chartHeight) { double _calcPriceY(double price, double chartHeight) {

View File

@ -343,13 +343,15 @@ class KlinePainter extends CustomPainter {
} }
String _formatTimeLabel(DateTime time) { String _formatTimeLabel(DateTime time) {
//
final localTime = time.toLocal();
// //
// //
final hour = time.hour.toString().padLeft(2, '0'); final hour = localTime.hour.toString().padLeft(2, '0');
final minute = time.minute.toString().padLeft(2, '0'); final minute = localTime.minute.toString().padLeft(2, '0');
if (time.hour == 0 && time.minute == 0) { if (localTime.hour == 0 && localTime.minute == 0) {
// / // /
return '${time.month}/${time.day}'; return '${localTime.month}/${localTime.day}';
} }
return '$hour:$minute'; return '$hour:$minute';
} }