相关疑难解决方法(0)

如何从日期减去一天?

我有一个Python datetime.datetime对象.减去一天的最佳方法是什么?

python datetime date

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

获得明天约会的最干净,最恐怖的方式?

获得明天约会的最干净,最恐怖的方式是什么?必须有一个更好的方法,而不是在一天中添加一个,在月末处理天数等.

python time datetime date

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

在Python中获取计算机的UTC偏移量

在Python中,如何找到计算机设置的UTC时间偏移量?

python timezone utc

47
推荐指数
3
解决办法
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万
查看次数

确定当天的开始和结束时间(UTC - > EST - > UTC); 蟒蛇

我将所有时间都存储在UTC中,我的系统设置为UTC(虽然我在EST).

我将日期存储为:

Wed, 20 Feb 2013 03:51:39 +0000
Run Code Online (Sandbox Code Playgroud)

但是,我想今天选择基于EST的信息,所以我试图:

  • 获取UTC当前时间并更改为EST

    datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York'))
    2013-02-19 23:17:20.560898-05:00
    
    Run Code Online (Sandbox Code Playgroud)
  • 接下来我想知道EST日(2013-02-19 00:00:00.000000-05:00)和结束时间(2013-02-19 23:59:59.99999-05:00)的开始时间

  • 一旦我有了这些值,我想转换回UTC,所以我有一个高和低的值,我可以通过这是正确的我的EST(我的时区).

如果这不是最好的方法,或者我错过了一些东西(对我来说似乎过于复杂)请帮助我看看光!

TIA

每个答案更新:

d1 = datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York'))
print d1.strftime("%m %d %Y") ; d2 = d1.replace(day=d1.day + 1) ; print d2.strftime("%m %d %Y")
Run Code Online (Sandbox Code Playgroud)

这会给我

02 20 2013
02 21 2013
Run Code Online (Sandbox Code Playgroud)

哪个是对的.我现在需要从中生成完整的EST时间,然后转换为UTC.这我无法弄明白.实际上,我可能希望在完成时转换为UTC纪元时间戳,因为这将使我的数据库操作非常简单(<,>,==等).

python timezone datetime

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

python - 日期时间与时区到纪元

在下面的代码中,我正在计算现在的纪元和当天纪元的开始.

import time
import pytz
from datetime import datetime

tz1 = pytz.timezone('CST6CDT')
utc = pytz.timezone('UTC')
now = pytz.UTC.localize(datetime.utcnow())
now_tz = now.astimezone(tz1)
print now_tz
print now_tz.strftime('%s')

begin_day = now_tz.replace(hour=0, minute=0, second=0)
print begin_day

print begin_day.strftime('%s')
Run Code Online (Sandbox Code Playgroud)

打印声明:

2012-08-28 13:52:21.595718-05:00
1346187141
2012-08-28 00:00:00.595718-05:00
1346137200
Run Code Online (Sandbox Code Playgroud)

使用CDT时区将时期转换为时间戳:1346187141 - 2012年8月28日15:52:21,1346137200 - 2012年8月28日02:00:00

我希望第二个时代开始,但现在是凌晨2点.在转换为纪元时,它看起来仍然使用本地时区PST.

我究竟做错了什么 ?或者这可以用不同的方式完成吗?

谢谢!

python timezone datetime epoch

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

将日期扩展到当天的开始和结束日期时间

根据当前时间 ( datetime.now()),我想将其扩展到涵盖一整天的时间。

现在我一直在使用:

start = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')
end = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

问题是这是从当前日期算起的 24 小时。如果是中午 12 点,这意味着它应该只回顾 12 小时,因为我想搜索当天的记录。

如何在 Python 中完成此操作?

python datetime

2
推荐指数
3
解决办法
4255
查看次数

标签 统计

python ×7

datetime ×6

timezone ×4

date ×2

utc ×2

epoch ×1

pytz ×1

time ×1