You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:如何将ByBit返回的9位精度Timestamp转为datetime对象?

如何将ByBit的纳秒级时间戳created_at_e9转换为DateTime对象

ByBit返回的created_at_e9是纳秒级时间戳(后缀e9代表单位是10^9,即纳秒),也就是从1970-01-01 UTC开始累计的纳秒数,共20位。转换的核心是将纳秒转换为对应编程语言DateTime类支持的时间单位(秒、毫秒或直接处理纳秒精度),以下是几种主流语言的实现方式:

  • Python:
    Python的datetime模块支持秒级时间戳,可将纳秒戳除以1e9得到秒级浮点数,或拆分秒和微秒部分实现精确转换:

    import datetime
    
    # 示例纳秒时间戳
    created_at_e9 = 1663315207126761200
    
    # 方式1:直接转换(自动处理微秒)
    dt = datetime.datetime.fromtimestamp(created_at_e9 / 10**9, datetime.timezone.utc)
    print(dt)  # 输出: 2022-09-16 00:00:07.126761+00:00
    
    # 方式2:手动拆分秒和微秒,精度更可控
    seconds = created_at_e9 // 10**9
    microseconds = (created_at_e9 % 10**9) // 1000  # 纳秒转微秒
    dt = datetime.datetime.fromtimestamp(seconds, datetime.timezone.utc).replace(microsecond=microseconds)
    print(dt)
    
  • JavaScript:
    JS的Date对象仅支持毫秒级精度,因此将纳秒戳除以1e6转换为毫秒:

    const created_at_e9 = 1663315207126761200;
    const dt = new Date(created_at_e9 / 1000000); // 纳秒 → 毫秒
    console.log(dt.toISOString()); // 输出: 2022-09-16T00:00:07.127Z(JS会自动四舍五入微秒)
    
  • Java:
    Java的Instant类原生支持纳秒精度,可直接拆分秒和纳秒部分初始化:

    import java.time.Instant;
    import java.time.ZoneId;
    import java.time.format.DateTimeFormatter;
    
    public class TimestampConverter {
        public static void main(String[] args) {
            long created_at_e9 = 1663315207126761200L;
            // 拆分秒数和剩余纳秒数
            long seconds = created_at_e9 / 1_000_000_000;
            long nanos = created_at_e9 % 1_000_000_000;
            
            Instant instant = Instant.ofEpochSecond(seconds, nanos);
            // 格式化为可读字符串
            DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT.withZone(ZoneId.of("UTC"));
            System.out.println(formatter.format(instant)); // 输出: 2022-09-16T00:00:07.126761200Z
        }
    }
    

内容的提问来源于stack exchange,提问作者Volatil3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:05:24