标签: pytz

是否有Pytz时区列表?

我想知道Python库Pytz中timezone参数的所有可能值.

for tz in pytz.all_timezones:
    print tz


Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum
Africa/Kigali
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Lome
Africa/Luanda
Africa/Lubumbashi
Africa/Lusaka
Africa/Malabo
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Mogadishu
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Niamey
Africa/Nouakchott
Africa/Ouagadougou
Africa/Porto-Novo
Africa/Sao_Tome
Africa/Timbuktu
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/ComodRivadavia
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/Salta
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia …
Run Code Online (Sandbox Code Playgroud)

python django pytz

574
推荐指数
8
解决办法
29万
查看次数

如何从日期时间对象中删除pytz时区?

有没有一种简单的方法从pytz日期时间对象中删除时区?
例如dt,dt_tz在这个例子中重建:

>>> import datetime
>>> import pytz
>>> dt = datetime.datetime.now()
>>> dt
datetime.datetime(2012, 6, 8, 9, 27, 32, 601000)
>>> dt_tz = pytz.utc.localize(dt)
>>> dt_tz
datetime.datetime(2012, 6, 8, 9, 27, 32, 601000, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)

python timezone pytz

99
推荐指数
1
解决办法
7万
查看次数

找不到满足要求pytz的版本

我在virtualenv中安装pytz时遇到问题.

下载/解压缩pytz
无法找到满足要求pytz的版本(版本:2009r,2008b,2009f,2008c,2007g,2011g,2005m,2011e,2007f,2011k,2007k,2006j,2008h,2008i,2011e,2008a, 2009e,2006g,2011j,2010l,2005m,2008i,2005k,2008g,2007c,2007i,2009l,2009r,2006j,2011k,2007d,2006p,2009i,2009u,2007i,2009f,2010g,2008h,2009a,2007g,2011e, 2006p,2012b,2010k,2005r,2007f,2009l,2009p,2008c,2009j,2008g,2010g,2010h,2011h,2010k,2007c,2007d,2011d,2009l,2011c,2008a,2005m,2007k,2009n,2011d,2010o, 2013b,2012h,2010e,2012c,2012d,2012f,2011n,2011b,2011j,2008c,2012j,2007k,2009f,2009d,2010e,2010b,2013b,2011d,2009p,2008h,2005r,2009i,2009n,2009a,2010k, 2008g,2006g,2008b,2012c,2009i,2007g,2012c,2010h,2011n,2012g,2007d,2008a,2009u,2012g,2010o,2006p,2010b,2009u,2012d,2011k,2012f,2009a,2007f,2011h,2010l, 2009j,2011g,2009g,2009g,2005r,2011c,2012g,2009g,2012d,2009j,2010o,2007c,2010g,2006g,2009d,2010h,2005k,2006j,2010b,2009n,2011g,2011c,2012b,2009e,2009d,2011j,2007i,2012j,2010l,2009r,2012h,2010e,2009p,2008i,2012f,2009e,2012b, 2011h,2005k,2008b,2013b,2011n,2012j,2004b)
清理......
没有匹配pytz版本的发行版

这似乎是最新版本的pip的一个问题.

有没有解决方法?

python pip virtualenv pytz

58
推荐指数
1
解决办法
10万
查看次数

如何使用pytz检查日期时间对象是否已本地化?

我想存储具有本地化UTC时区的日期时间对象.存储datetime对象的方法可以被赋予非本地化的日期时间(天真)对象或已经本地化的对象.如何确定是否需要本地化?

如果条件丢失的代码:

class MyClass:
  def set_date(self, d):
    # what do i check here?
    # if(d.tzinfo):
      self.date = d.astimezone(pytz.utc)
    # else:
      self.date = pytz.utc.localize(d)
Run Code Online (Sandbox Code Playgroud)

python timezone datetime pytz

57
推荐指数
3
解决办法
3万
查看次数

如何获取系统时区设置并将其传递给pytz.timezone?

我们可以使用time.tzname获取本地时区名称,但该名称与之不兼容pytz.timezone.

实际上,返回的名称time.tzname含糊不清.此方法('CST', 'CST')在我的系统中返回,但"CST"可以指示四个时区:

  • 中部时区(北美) - 在北美的中部时区观察
  • 中国标准时间
  • 中原标准时间 - "中原标准时间"一词现在在台湾很少使用
  • 澳大利亚中央标准时间(ACST)

python timezone pytz

51
推荐指数
4
解决办法
6万
查看次数

pytz和astimezone()不能应用于天真的日期时间

我有一个约会,我需要让时区知道.

local_tz = timezone('Asia/Tokyo')
start_date = '2012-09-27'
start_date = datetime.strptime(start_date, "%Y-%m-%d")   
start_date = start_date.astimezone(local_tz)


now_utc = datetime.now(timezone('UTC'))
local_now = now_utc.astimezone(local_tz)
Run Code Online (Sandbox Code Playgroud)

我需要找到这是否属实:

print start_date>local_now
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误.

   start_date = start_date.astimezone(local_tz)
   ValueError: astimezone() cannot be applied to a naive datetime
Run Code Online (Sandbox Code Playgroud)

我将utc转换为tokyo没有任何问题.我需要在东京做好start_date时区感知广告.

谢谢

python timezone datetime pytz

50
推荐指数
2
解决办法
5万
查看次数

pytz localize vs datetime replace

我在pytz的.localize()函数中遇到了一些奇怪的问题.有时它不会调整本地化的日期时间:

.localize行为:

>>> tz
<DstTzInfo 'Africa/Abidjan' LMT-1 day, 23:44:00 STD> 
>>> d
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421)

>>> tz.localize(d)
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421, 
                  tzinfo=<DstTzInfo 'Africa/Abidjan' GMT0:00:00 STD>)
>>> tz.normalize(tz.localize(d))
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421,
                  tzinfo=<DstTzInfo 'Africa/Abidjan' GMT0:00:00 STD>)
Run Code Online (Sandbox Code Playgroud)

如您所见,由于本地化/规范化操作,时间没有改变.但是,如果使用.replace:

>>> d.replace(tzinfo=tz)
datetime.datetime(2009, 9, 2, 14, 45, 42, 91421, 
                  tzinfo=<DstTzInfo 'Africa/Abidjan' LMT-1 day, 23:44:00 STD>)
>>> tz.normalize(d.replace(tzinfo=tz))
datetime.datetime(2009, 9, 2, 15, 1, 42, 91421,
                  tzinfo=<DstTzInfo 'Africa/Abidjan' GMT0:00:00 STD>)
Run Code Online (Sandbox Code Playgroud)

这似乎调整了日期时间.

问题是 - 这是正确的,为什么其他的错?

python timezone datetime utc pytz

47
推荐指数
4
解决办法
4万
查看次数

如何获得给定时区的"午夜"UTC时间?

我现在能想到的最好的就是这种怪异:

>>> datetime.utcnow() \
...   .replace(tzinfo=pytz.UTC) \
...   .astimezone(pytz.timezone("Australia/Melbourne")) \
...   .replace(hour=0,minute=0,second=0,microsecond=0) \
...   .astimezone(pytz.UTC) \
...   .replace(tzinfo=None)
datetime.datetime(2008, 12, 16, 13, 0)
Run Code Online (Sandbox Code Playgroud)

即,用英语,获取当前时间(以UTC为单位),将其转换为其他时区,将时间设置为午夜,然后转换回UTC.

我不只是使用now()或localtime(),因为它会使用服务器的时区,而不是用户的时区.

我不禁感到我错过了什么,有什么想法吗?

python timezone datetime utc pytz

42
推荐指数
2
解决办法
5万
查看次数

pytz奇怪的时区问题

>>> import pytz
>>> pytz.timezone('Asia/Hong_Kong')
<DstTzInfo 'Asia/Hong_Kong' LMT+7:37:00 STD>
Run Code Online (Sandbox Code Playgroud)

7小时37分钟的偏移量?这有点奇怪,有没有人遇到同样的问题?

事实上,我之间的行为有所不同

import pytz
from datetime import datetime
hk = pytz.timezone('Asia/Hong_Kong')

dt1 = datetime(2012,1,1,tzinfo=hk)
dt2 = hk.localize(datetime(2012,1,1))
if dt1 > dt2:
   print "Why?"
Run Code Online (Sandbox Code Playgroud)

python pytz

41
推荐指数
3
解决办法
5579
查看次数

在python中转换时区的意外结果

我试图理解为什么在将时区转换为UTC时我得到这些结果:

In [74]: d1 = datetime(2007, 12, 5, 6, 30,tzinfo=pytz.timezone('US/Pacific'))
In [75]: d1
Out[75]: datetime.datetime(2007, 12, 5, 6, 30, tzinfo=<DstTzInfo 'US/Pacific' LMT-1 day, **16:07:00 STD**>)
In [76]: d1.astimezone(pytz.utc)
Out[76]: datetime.datetime(2007, 12, 5, 14, 23, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)

为什么早上6:30成为下午2:23?

另一方面,如果我使用以下方法,我得到预期的结果:

In [90]: d2 = datetime(2007, 12, 5, 6, 30)
In [91]: uspac = pytz.timezone('US/Pacific')
In [92]: d2_aware = uspac.localize(d2)
In [94]: d2_aware.astimezone(pytz.utc)
Out[94]: datetime.datetime(2007, 12, 5, 14, 30, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)

python pytz

36
推荐指数
3
解决办法
8704
查看次数

标签 统计

python ×10

pytz ×10

timezone ×6

datetime ×4

utc ×2

django ×1

pip ×1

virtualenv ×1