python3 TimeStamp关闭了2个小时

时间:2017-04-11 06:38:48

标签: python-3.x datetime time

我对python有点新,但是最难用的是时间戳,utc和unixtime。

此示例已关闭2小时:

sec_in_day=86400
today = datetime.datetime.utcnow() 
print(today)

two_days_ago=today.timestamp()-(sec_in_day*2);
print("Two days ago (unix)",two_days_ago)

# Convert timestamp via 3rd party 
tool:http://www.onlineconversion.com/unix_time.htm

#generated unix-timestamp is 2 hours early according to 3rd party tool

2017-04-11 06:36:49.414133

两天前(unix)1491712609.414133

通过在线工具转换1491712609.414133给我

Sun,2017年4月9日04:36:49 GMT

期待Sun,2017年4月9日06:36:49 GMT

3 个答案:

答案 0 :(得分:1)

我相信一切都按照设计运作。

首先你做:

<a style={{display: 'list-item'}} tabIndex={-42} key={faqKey} className={styles.entry} onClick={handleExpandFn}>
  <div>
    <span className={`icon-next ${questionClassname}`} />
    <span className={styles['question-text']}>{faqEntry.question}</span>
  </div>
  {faqEntry.answer}
</a>

以UTC格式,没有夏令时调整,没有本地时区调整。

然后你做:

today = datetime.datetime.utcnow()

根据docs是当地时间,因此它包括对日光节省以及当地时区的调整。

这解释了2小时的差异。

您可能希望了解的是today.timestamp()

答案 1 :(得分:1)

这解决了我的问题

sec_in_day=86400
today = datetime.datetime.utcnow() 

timestamp = today.replace(tzinfo=timezone.utc).timestamp()
print("Today",today)
print("Today-Re", today.replace(tzinfo=timezone.utc))
print("TS",timestamp)
print("TS#2",(timestamp-(sec_in_day*2)))

答案 2 :(得分:0)

您也可以使用以下代码

// test one
function computeMaxCallStackSize() {
    try {
        return computeMaxCallStackSize() + 1;
    } catch (e) {
        return 1;
    }
}

console.log(computeMaxCallStackSize()); 

在此我使用了 fromtimestamp(two_days_ago).strftime('%Y-%m-%d%H:%M:%S.%f'))这将转换时代的功能时间变成可读的形式。