Skip to content

Timestamps

MEXC accepts datetime objects for timestamp parameters. The client converts them to the integer format MEXC expects for each endpoint.

Common Patterns

Pass a datetime directly when filtering a time window.

from datetime import datetime, timedelta

end_time = datetime.now()
start_time = end_time - timedelta(hours=1)

This works for spot endpoints that use milliseconds and futures K-line endpoints that use seconds.

from datetime import datetime, timedelta
from mexc import MEXC

async with MEXC.public() as client:
  await client.spot.market.candles(
    symbol='BTCUSDT',
    interval='1m',
    start_time=datetime.now() - timedelta(hours=1),
    end_time=datetime.now(),
  )
  await client.futures.market.candles(
    'BTC_USDT',
    interval='Min1',
    start=datetime.now() - timedelta(hours=1),
    end=datetime.now(),
  )

Raw integer timestamps still work when you already have venue-formatted values.

await client.spot.market.candles(
  symbol='BTCUSDT',
  interval='1m',
  start_time=1715200000000,
)
await client.futures.market.candles(
  'BTC_USDT',
  interval='Min1',
  start=1715200000,
)

Validated response timestamp fields are returned as datetime objects.

Raw Helpers

Use the helper exported by the client when you explicitly need raw millisecond integers.

from datetime import datetime
from mexc.core import timestamp as ts

timestamp_ms = ts.dump_ms(datetime.now())
current_ms = ts.now()
parsed = ts.parse(1715200000000)

For second-based values, use dump_s.

from datetime import datetime
from mexc.core import timestamp as ts

timestamp_s = ts.dump_s(datetime.now())