【问题标题】:How to convert a Python datetime object into timestamp without time and backwards?如何将 Python 日期时间对象转换为没有时间和向后的时间戳?
【发布时间】:2018-03-10 13:44:43
【问题描述】:

我正在从没有分钟、秒等的日期时间对象中制作时间戳:

import datetime
import time
import pytz
today_timestamp = datetime.datetime.now(pytz.timezone('Europe/Moscow')).replace(hour=0, minute=0,second=0, microsecond=0).timestamp()

结果我得到:

1506546000.0

然后我用字符串类型的对象制作时间戳:

str_to_time = time.strptime('28.09.17', '%d.%m.%y')
time_to_timestamp = time.mktime(str_to_time)

我得到:

1506556800.0

我把今天的日期放在一个字符串中。为什么这些数字不同?

【问题讨论】:

  • 如果你在本地做time.tzname,是否相当于'Europe/Moscow'时区?

标签: python datetime time timestamp


【解决方案1】:

time.strptime 使用从启动python 进程的进程继承的任何时区。启动 python 时设置的时区可能不是Europe/Moscow,而是UTC。你在启动 python 解释器时设置了TZ=UTC 吗?

today_timestamp = datetime.datetime.now(pytz.timezone('UTC')).replace(hour=0, minute=0,second=0, microsecond=0).timestamp()
1506556800.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    相关资源
    最近更新 更多