原文
最近工作中遇到了乙個問題:我的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
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']
這個地方還真多,不過既然是東部,直接選new york就好了。
3. 下一步,列印出美東的current time。
1
2
3
4
5
6
7
8
9
10
11
#-*-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. 將時間轉換為秒,加上120秒,然後再轉換回標準格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#-*-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
時區轉換函式
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...