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:
parent
900ba4a555
commit
99c1ff1fb7
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue