Python用模塊pytz來(lái)轉(zhuǎn)換時(shí)區(qū)
前言
最近遇到了一個(gè)問(wèn)題:我的server和client不是在一個(gè)時(shí)區(qū),server時(shí)區(qū)是EDT,即美國(guó)東部時(shí)區(qū),client,就是我自己的電腦,時(shí)區(qū)是中國(guó)標(biāo)準(zhǔn)時(shí)區(qū),東八區(qū)。處于測(cè)試需要,我需要向server發(fā)送一個(gè)時(shí)間,使得server在這個(gè)時(shí)間戳去執(zhí)行一些動(dòng)作。這個(gè)時(shí)間戳通常是當(dāng)前時(shí)間加2分鐘或者幾分鐘。
通常美東在夏令時(shí)時(shí),和我們相差12小時(shí),所以直接減掉這12小時(shí),然后再加兩分鐘,可以實(shí)現(xiàn)發(fā)送基于server的時(shí)間戳,但是只有一半時(shí)間是夏令時(shí),所以考慮還是基于時(shí)區(qū)來(lái)做。百度了一下,Python有一個(gè)模塊pytz是時(shí)區(qū)相關(guān)的,但不是builtin方法,所以需要安裝一下。
1. 首先安裝pytz,pip install pytz.
2. 試了一下水,打印出美國(guó)的時(shí)區(qū):
#-*-coding:utf-8-*-
#/usr/bin/env python
import pytz
print(pytz.country_timezones('us'))#[u'America/New_York', u'America/Detroit', u'America/Kentucky/Louisville', u'America/Kentucky/Monticello', u'America/Indiana/Indianapolis', u'America/Indiana/Vincennes', u'America/Indiana/Winamac', u'America/Indiana/Marengo', u'America/Indiana/Petersburg', u'America/Indiana/Vevay', u'America/Chicago', u'America/Indiana/Tell_City', u'America/Indiana/Knox', u'America/Menominee', u'America/North_Dakota/Center', u'America/North_Dakota/New_Salem', u'America/North_Dakota/Beulah', u'America/Denver', u'America/Boise', u'America/Phoenix', u'America/Los_Angeles', u'America/Anchorage', u'America/Juneau', u'America/Sitka', u'America/Metlakatla', u'America/Yakutat', u'America/Nome', u'America/Adak', u'Pacific/Honolulu']
這個(gè)地方還真多,不過(guò)既然是東部,直接選New York就好了。
3. 下一步,打印出美東的current time。
#-*-coding:utf-8-*-
#/usr/bin/env python
import pytz
import time
import datetime
tz = pytz.timezone('America/New_York')
a = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
print(a)
#2016-08-18 02:26:53
4. 將時(shí)間轉(zhuǎn)換為秒,加上120秒,然后再轉(zhuǎn)換回標(biāo)準(zhǔn)格式:
#-*-coding:utf-8-*-
#/usr/bin/env python
import pytz
import time
import datetime
print(pytz.country_timezones('us'))
tz = pytz.timezone('America/New_York')
a = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
print(a)
b=time.mktime(time.strptime(a,'%Y-%m-%d %H:%M:%S'))+int(2)*60
print(time.strftime("%Y-%m-%d %H:%M",time.localtime(b)))
#2016-08-18 02:28
總結(jié)
以上就是在Python用模塊pytz來(lái)轉(zhuǎn)換時(shí)區(qū)的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)使用Python能有所幫助。
相關(guān)文章
Python lambda和Python def區(qū)別分析
Python支持一種有趣的語(yǔ)法,它允許你快速定義單行的最小函數(shù)。這些叫做lambda的函數(shù),是從Lisp借用來(lái)的,可以用在任何需要函數(shù)的地方2014-11-11
Python實(shí)現(xiàn)重建二叉樹(shù)的三種方法詳解
這篇文章主要介紹了Python實(shí)現(xiàn)重建二叉樹(shù)的三種方法,結(jié)合實(shí)例形式分析了Python重建二叉樹(shù)的實(shí)現(xiàn)方法、操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06
Python內(nèi)置函數(shù)及功能簡(jiǎn)介匯總
這篇文章主要介紹了Python內(nèi)置函數(shù)及功能簡(jiǎn)介匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Python實(shí)現(xiàn)監(jiān)視程序的內(nèi)存使用情況
我們使用Python和它的數(shù)據(jù)處理庫(kù)套件進(jìn)行大量數(shù)據(jù)處理時(shí)候,可能使用了大量的計(jì)算資源,那么如何監(jiān)視程序的內(nèi)存使用情況就顯得尤為重要,下面我們就來(lái)了解一下具體實(shí)現(xiàn)方法吧2023-12-12
python計(jì)算最大優(yōu)先級(jí)隊(duì)列實(shí)例
python計(jì)算最大優(yōu)先級(jí)隊(duì)列實(shí)例,大家參考使用吧2013-12-12
python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)
這篇文章主要為大家介紹了python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Python模塊psycopg2連接postgresql的實(shí)現(xiàn)
本文主要介紹了Python模塊psycopg2連接postgresql的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Python利用標(biāo)簽實(shí)現(xiàn)清理微信好友的自動(dòng)化腳本
微信已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡纳缃还ぞ?隨著使用時(shí)間的增長(zhǎng),我們的微信好友列表可能會(huì)變得越來(lái)越臃腫,所以本文為大家準(zhǔn)備了通過(guò)標(biāo)簽清理微信好友的Python自動(dòng)化腳本,希望對(duì)大家有所幫助2024-12-12
python 從遠(yuǎn)程服務(wù)器下載東西的代碼
python實(shí)現(xiàn)從遠(yuǎn)程服務(wù)器下載東西的代碼,有需要的朋友可以參考下2013-02-02

