Python時區轉換

2021-08-10 18:46:28 字數 3546 閱讀 3615

原文 

最近工作中遇到了乙個問題:我的server和client不是在乙個時區,server時區是edt,即美國東部時區,client,就是我自己的電腦,時區是中國標準時區,東八區。處於測試需要,我需要向server傳送乙個時間,使得server在這個時間戳去執行一些動作。這個時間戳通常是當前時間加2分鐘或者幾分鐘。

1. 首先安裝pytz,pip install pytz.

2. 試了一下水,列印出美國的時區:

1

2

3

4

5

#-*-coding:utf-8-*-

#/usr/bin/env python

importpytz

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']

這個地方還真多,不過既然是東部,直接選new york就好了。

3. 下一步,列印出美東的current time。

1

2

3

4

5

6

7

8

9

10

11

#-*-coding:utf-8-*-

#/usr/bin/env python

importpytz

importtime

importdatetime

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. 將時間轉換為秒,加上120秒,然後再轉換回標準格式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#-*-coding:utf-8-*-

#/usr/bin/env python

importpytz

importtime

importdatetime

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

時區轉換函式

typedef struct int year int month int day date typedef stuct int hour int minute int second time typedef struct date date time time datetime 在時區的定義上,有...

Ruby時區轉換

要將mysql資料庫中的資料,由日本伺服器轉移到美國伺服器。日本伺服器的時區是jst,美國伺服器的時區是pdt。使用了mysql的dump restore,完成匯入後發現,資料庫中的timestamps欄位沒有被正確的轉換,比如原來是日本時間的 2010 7 1 20 14 11 變成了美國太平洋夏...

js時區轉換

頁面伺服器時間是東八區時間,頁面 js 功能需要對比伺服器時間和使用者本地時間,為相容世界各地時間,需要將使用者本地時間轉換為東八區時間。格林威治子午線上的地方時,或零時區 中時區 的區時叫做格林威治時間,也叫世界時。更多詳細的概念不說了,這裡我們不需要。比如我們中國是東八區,北京時間是 gmt 0...