跳到内容
🛠️ToolsShed

时间戳批量转换器

一次转换多个Unix时间戳,自动检测秒或毫秒。

输入时间戳并点击转换。

关于此工具

Unix 时间戳是计算机表示时间的标准方式,计算自 1970 年 1 月 1 日起的经过秒数(或毫秒)。然而手动转换单个时间戳很繁琐,当你需要转换数十个甚至数百个时间戳时,逐个转换变得不切实际。Epoch 批量转换器通过让你一次性粘贴多个时间戳,自动检测秒与毫秒,然后将它们全部转换为人类可读的日期,解决了这个问题。

使用这个工具时,只需将时间戳粘贴到输入字段中——可以每行一个,或用逗号、空格等常见分隔符分开。转换器会立即处理所有时间戳,显示完整的日期和时间信息,并让你一次性复制整个输出。这对于处理服务器日志、数据库或 API 响应(其中时间戳大量存在)的开发人员特别有用,对于需要理解大型数据集中事件何时发生的分析师也很有帮助。

常见问题

代码实现

from datetime import datetime, timezone

def timestamps_to_iso(timestamps: list[int | float], unit: str = "s") -> list[str]:
    """Convert a list of Unix timestamps to ISO 8601 strings.
    unit: 's' for seconds, 'ms' for milliseconds
    """
    results = []
    for ts in timestamps:
        if unit == "ms":
            ts = ts / 1000
        dt = datetime.fromtimestamp(ts, tz=timezone.utc)
        results.append(dt.isoformat())
    return results

def iso_to_timestamps(iso_strings: list[str], unit: str = "s") -> list[int]:
    """Convert a list of ISO 8601 strings to Unix timestamps."""
    results = []
    for s in iso_strings:
        dt = datetime.fromisoformat(s.replace("Z", "+00:00"))
        ts = dt.timestamp()
        if unit == "ms":
            ts = int(ts * 1000)
        else:
            ts = int(ts)
        results.append(ts)
    return results

# Example
timestamps = [0, 1000000000, 1700000000, 2000000000]
print("Timestamps to ISO:")
for ts, iso in zip(timestamps, timestamps_to_iso(timestamps)):
    print(f"  {ts} -> {iso}")

print("ISO to timestamps:")
isos = ["1970-01-01T00:00:00+00:00", "2023-11-14T22:13:20+00:00"]
for iso, ts in zip(isos, iso_to_timestamps(isos)):
    print(f"  {iso} -> {ts}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.