Попытка преобразовать столбец pl.Date в эпоху UNIX как есть, без смещения часового пояса:
import datetime
import polars as pl
df = pl.DataFrame(
{'Date': [datetime.datetime.now().date()]}
)
Правильное время (00:00:00) при преобразовании в Datetime:
df.with_columns(
pl.col("Date").cast(pl.Datetime)
)
┌─────────────────────┐
│ Date │
│ --- │
│ datetime[μs] │
╞═════════════════════╡
│ 2023-06-10 00:00:00 │
└─────────────────────┘
Неправильное время при приведении к метке времени:
datetime.datetime.fromtimestamp(
df.with_columns(
pl.col("Date").cast(pl.Datetime).dt.timestamp("ms").truediv(1_000)
).item()
)
datetime.datetime(2023, 6, 10, 8, 0) # (08:00:00)
Как было предложено, без приведения к Datetime также выдается неправильное время. (08:00:00)
pl.col("Date").dt.timestamp("ms").truediv(1_000)
Подробнее здесь: https://stackoverflow.com/questions/764 ... unix-epoch