fix: Fix time display in dashboard recent trades
- Convert datetime to timestamp in backend dashboard API - Improve formatTime function to handle ISO 8601 and RFC 2822 formats
This commit is contained in:
@@ -354,8 +354,16 @@ def summary():
|
|||||||
""",
|
""",
|
||||||
(user_id,)
|
(user_id,)
|
||||||
)
|
)
|
||||||
recent_trades = cur.fetchall() or []
|
recent_trades_raw = cur.fetchall() or []
|
||||||
cur.close()
|
cur.close()
|
||||||
|
|
||||||
|
# Convert datetime to timestamp for frontend compatibility
|
||||||
|
recent_trades = []
|
||||||
|
for t in recent_trades_raw:
|
||||||
|
trade = dict(t)
|
||||||
|
if trade.get('created_at') and hasattr(trade['created_at'], 'timestamp'):
|
||||||
|
trade['created_at'] = int(trade['created_at'].timestamp())
|
||||||
|
recent_trades.append(trade)
|
||||||
|
|
||||||
# Compute performance statistics
|
# Compute performance statistics
|
||||||
perf_stats = _compute_performance_stats(recent_trades)
|
perf_stats = _compute_performance_stats(recent_trades)
|
||||||
|
|||||||
@@ -992,12 +992,20 @@ export default {
|
|||||||
formatTime (timestamp) {
|
formatTime (timestamp) {
|
||||||
if (!timestamp) return '-'
|
if (!timestamp) return '-'
|
||||||
try {
|
try {
|
||||||
const raw = typeof timestamp === 'string' ? parseInt(timestamp, 10) : Number(timestamp)
|
let date
|
||||||
if (!raw || Number.isNaN(raw)) return '-'
|
// Handle ISO 8601 date strings (e.g., "2024-01-17T01:58:10.000Z")
|
||||||
const ms = raw < 1e12 ? raw * 1000 : raw
|
if (typeof timestamp === 'string' && timestamp.includes('-') && timestamp.includes(':')) {
|
||||||
const d = new Date(ms)
|
date = new Date(timestamp)
|
||||||
if (isNaN(d.getTime())) return '-'
|
} else if (typeof timestamp === 'number' || (typeof timestamp === 'string' && /^\d+$/.test(timestamp))) {
|
||||||
return d.toLocaleString()
|
// Handle numeric timestamps (seconds or milliseconds)
|
||||||
|
const numTimestamp = typeof timestamp === 'string' ? parseInt(timestamp, 10) : timestamp
|
||||||
|
const ms = numTimestamp < 1e12 ? numTimestamp * 1000 : numTimestamp
|
||||||
|
date = new Date(ms)
|
||||||
|
} else {
|
||||||
|
return '-'
|
||||||
|
}
|
||||||
|
if (isNaN(date.getTime())) return '-'
|
||||||
|
return date.toLocaleString()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return '-'
|
return '-'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user