日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳...

發布時間:2023/12/15 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果d = date(2011, 1, 1)在世界協調時:>>> from datetime import datetime, date>>> import calendar>>> timestamp1 = calendar.timegm(d.timetuple())>>> datetime.utcfromtimestamp

(timestamp1)datetime.datetime(2011, 1, 1, 0, 0)

如果d在本地時區:>>> import time>>> timestamp2 = time.mktime(d.timetuple()) # DO NOT USE IT WITH UTC DATE>>> datetime.fromtimestamp(timestamp2)datetime.

datetime(2011, 1, 1, 0, 0)

timestamp1和timestamp2如果本地時區中的午夜與UTC中的午夜不是相同的時間實例,則可能有所不同。

轉換datetime.date對象,表示以UTC格式表示的日期。calendar.timegm():DAY = 24*60*60 # POSIX day in seconds (exact value)timestamp = (utc_date.toordinal() - date(1970, 1, 1).toordinal()) * DAY

timestamp = (utc_date - date(1970, 1, 1)).days * DAY

根據UTC的說法,我怎樣才能把日期轉換成從時代開始的秒呢?

轉換datetime.datetime(不是datetime.date對象,該對象已將時間以UTC的形式表示為相應的POSIX時間戳(afloat).

Python 3.3+from datetime import timezone

timestamp = dt.replace(tzinfo=timezone.utc).timestamp()

注:有必要提供timezone.utc明示否則.timestamp()假設天真的datetime對象位于本地時區。

Python 3(<3.3)沒有從datetime實例獲取時間戳的方法,但是與datetime實例DT對應的POSIX時間戳可以輕松地按以下方式計算。對于一個天真的DT:timestamp = (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)對于有意識的DT:timestamp = (dt - datetime(1970,1,1, tzinfo=timezone.utc)) / timedelta(seconds=1)

有趣的讀物:劃時代的時間與一天中的時間關于…之間的區別現在幾點?和多少秒過去了?

Python 2

若要將上述代碼用于Python 2,請執行以下操作:timestamp = (dt - datetime(1970, 1, 1)).total_seconds()

哪里timedelta.total_seconds()等于(td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6啟用真除法計算。from __future__ import divisionfrom datetime import datetime, timedeltadef totimestamp(dt, epoch=datetime(1970,1,1)):

td = dt - epoch # return td.total_seconds()

return (td.microseconds + (td.seconds + td.days * 86400) * 10**6) / 10**6 now = datetime.utcnow()print nowprint totimestamp(now)

輸出量2012-01-08 15:34:10.0224031326036850.02

如何轉換感知datetime對象為POSIX時間戳。assert dt.tzinfo is not None and dt.utcoffset() is not Nonetimestamp = dt.timestamp() # Python 3.3+

在Python 3上:from datetime import datetime, timedelta, timezone

epoch = datetime(1970, 1, 1, tzinfo=timezone.utc)timestamp = (dt - epoch) / timedelta(seconds=1)integer_timestamp = (dt - epoch)

// timedelta(seconds=1)

在Python 2上:# utc time = local time - utc offsetutc_naive = dt.replace(tzinfo=None) - dt.utcoffset()timestamp =

(utc_naive - datetime(1970, 1, 1)).total_seconds()

總結

以上是生活随笔為你收集整理的python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。