Timestamps
Binance timestamps are millisecond epoch integers, UTC — uniform across every surface (spot,
USD-M futures, COIN-M futures, options, portfolio margin, and their streams/WS-API
counterparts). datetime works natively as a request parameter end-to-end: pass a datetime
directly, and the client converts it to the millisecond integer Binance expects.
Common Patterns
Pass a datetime directly when filtering a time window.
from datetime import datetime, timedelta
from typed_binance import Binance
async with Binance.new(public=True) as client:
candles = await client.spot.http.market.klines(
symbol='BTCUSDT',
interval='1m',
start_time=datetime.now() - timedelta(hours=1),
end_time=datetime.now(),
)Validated response timestamp fields — like E/T on stream events, SpotTrade.time, or the
open/close-time entries of a SpotCandle row — come back as datetime objects too. A
handful of order-book-depth response fields (e.g. usdm_futures.market.depth's E/T) are
typed as raw millisecond int instead, not TimestampMillis — convert those manually with
timestamp_millis.parse() if you need a datetime.
Raw Helpers
Use the helper exported by the client when you already have a raw millisecond integer, or need one.
from datetime import datetime
from typed_binance.core import timestamp_millis
timestamp_ms = timestamp_millis.dump(datetime.now())
current_ms = timestamp_millis.now()
parsed = timestamp_millis.parse(1715200000000)