将 Streamlit 库时间输入转换为自纪元以来的毫秒数

问题描述 投票:0回答:1

如何将来自 Streamlit 时间输入 widget 的输入转换为自 Unix Epoch 以来的毫秒数?一天中的时间来自时间输入小部件和日期,具有以下字符串格式

day = '20240325' #YYYYMMDD
time = st.time_input('Execution time', step=0:1:00)
print(time_in_ms_since_epoch)
python datetime time streamlit
1个回答
0
投票
import streamlit as st
from datetime import datetime, timezone, timedelta


day = '20240325' #YYYYMMDD
time = st.time_input('Execution time', step=60)


date_time_str = day + f'{time}'

date_time_obj = datetime.strptime(date_time_str, '%Y%m%d%H:%M:%S')

date_time_obj = date_time_obj.replace(tzinfo=timezone.utc)

epoch = datetime(2024, 3, 27, 0, 0, 0, tzinfo=timezone.utc)

time_in_ms_since_epoch = int((epoch-date_time_obj).total_seconds() * 1000)

print(time_in_ms_since_epoch)
© www.soinside.com 2019 - 2024. All rights reserved.