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) {
|
||||
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) {
|
||||
|
|
|
|||
|
|
@ -343,13 +343,15 @@ class KlinePainter extends CustomPainter {
|
|||
}
|
||||
|
||||
String _formatTimeLabel(DateTime time) {
|
||||
// 转换为本地时间
|
||||
final localTime = time.toLocal();
|
||||
// 根据时间显示不同格式
|
||||
// 如果是新的一天,显示日期;否则显示时间
|
||||
final hour = time.hour.toString().padLeft(2, '0');
|
||||
final minute = time.minute.toString().padLeft(2, '0');
|
||||
if (time.hour == 0 && time.minute == 0) {
|
||||
final hour = localTime.hour.toString().padLeft(2, '0');
|
||||
final minute = localTime.minute.toString().padLeft(2, '0');
|
||||
if (localTime.hour == 0 && localTime.minute == 0) {
|
||||
// 新的一天,显示月/日
|
||||
return '${time.month}/${time.day}';
|
||||
return '${localTime.month}/${localTime.day}';
|
||||
}
|
||||
return '$hour:$minute';
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue