Files
kitchen/scripts/debug_timestamp.dart
2026-04-11 22:55:27 +08:00

33 lines
1.3 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 时间戳调试脚本
void main() {
final timestamp = 146085838541;
print('🔍 时间戳调试');
print('原始值: $timestamp (${timestamp.toString().length}位)');
// 尝试不同的解析方式
print('\n方式1: 当作毫秒 (直接使用)');
final d1 = DateTime.fromMillisecondsSinceEpoch(timestamp);
print('结果: ${d1.year}-${d1.month}-${d1.day} ${d1.hour}:${d1.minute}');
print('\n方式2: 当作秒 (×1000转毫秒)');
final d2 = DateTime.fromMillisecondsSinceEpoch(timestamp * 1000);
print('结果: ${d2.year}-${d2.month}-${d2.day} ${d2.hour}:${d2.minute}');
print('\n方式3: 除以1000当作秒 (可能是微秒?)');
final d3 = DateTime.fromMillisecondsSinceEpoch((timestamp / 1000).round() * 1000);
print('结果: ${d3.year}-${d3.month}-${d3.day} ${d3.hour}:${d3.minute}');
// 2016年的正确时间戳
print('\n--- 参考值 ---');
final date2016 = DateTime(2016, 4, 18, 15, 35);
print('2016-04-18 15:35 的毫秒时间戳: ${date2016.millisecondsSinceEpoch}');
print('2016-04-18 15:35 的秒时间戳: ${date2016.millisecondsSinceEpoch ~/ 1000}');
// 检查是否差1000倍
final correctMs = 1460858385000; // 13位
print('\n如果是13位: $correctMs');
final d4 = DateTime.fromMillisecondsSinceEpoch(correctMs);
print('结果: ${d4.year}-${d4.month}-${d4.day} ${d4.hour}:${d4.minute}');
}