Python时间戳和可读时间相互转换

Python时间戳和可读时间相互转换

from datetime import datetime

def timestamp_to_readable(hex_timestamp):
    decimal_timestamp = int(hex_timestamp, 16)
    timestamp_seconds = decimal_timestamp

    # 转换为可读时间
    human_readable_time = datetime.utcfromtimestamp(timestamp_seconds).strftime('%Y-%m-%d %H:%M:%S UTC')

    print(f"可读时间:{human_readable_time}")

def readable_to_timestamp(human_readable_time_str):
    # 将可读时间字符串转换为时间对象
    time_obj = datetime.strptime(human_readable_time_str, '%Y-%m-%d %H:%M:%S')

    # 获取时间戳(以秒为单位)
    timestamp_seconds = int(time_obj.timestamp())

    # 将时间戳转换为16进制字符串
    hex_timestamp_str = hex(timestamp_seconds)

    print(f"16进制时间戳:{hex_timestamp_str}")

def main():
    print("注意:例如:0x967aae40L是一个完整的时间戳,但在进行“时间戳转可读时间”时把后尾的L去掉也就是0x967aae40,在“可读时间转时间戳”得出的结果是没有带后尾的L的,在使用此时间戳时请在后尾加L,这样才是一个时间戳。")
    print("选择功能:")
    print("1. 时间戳转可读时间")
    print("2. 可读时间转时间戳")

    choice = input("请输入数字 (1 或 2): ")

    if choice == '1':
        hex_timestamp = input("请输入16进制时间戳(例如:0x967aae40): ")
        timestamp_to_readable(hex_timestamp)
    elif choice == '2':
        human_readable_time_str = input("请输入可读时间字符串 (例如:2050-01-01 12:00:00): ")
        readable_to_timestamp(human_readable_time_str)
    else:
        print("无效的选择。请只输入1或2。")

if __name__ == "__main__":
    main()
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容