相关疑难解决方法(0)

以Unix时间戳格式获取当前GMT时间的最简单方法是什么?

Python提供不同的套餐(datetime,time,calendar),可以看出这里为了应对时间.通过使用以下内容来获取当前的GMT时间,我犯了一个大错误time.mktime(datetime.datetime.utcnow().timetuple())

在Unix时间戳中获取当前GMT时间的简单方法是什么?

python time unix-timestamp

132
推荐指数
7
解决办法
19万
查看次数

使用datetime获取python中的UTC时间戳

有没有办法通过指定日期来获取UTC时间戳?我期待的是:

datetime(2008, 1, 1, 0, 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

应该导致

 1199145600
Run Code Online (Sandbox Code Playgroud)

创建天真的日期时间对象意味着没有时区信息.如果我查看datetime.utcfromtimestamp的文档,则创建UTC时间戳意味着省略时区信息.所以我猜,创建一个天真的日期时间对象(就像我做的那样)会产生一个UTC时间戳.然而:

then = datetime(2008, 1, 1, 0, 0, 0, 0)
datetime.utcfromtimestamp(float(then.strftime('%s')))
Run Code Online (Sandbox Code Playgroud)

结果是

2007-12-31 23:00:00
Run Code Online (Sandbox Code Playgroud)

datetime对象中是否还有隐藏的时区信息?我究竟做错了什么?

python datetime timestamp utc

73
推荐指数
6
解决办法
13万
查看次数

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

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

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

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

python timezone pytz

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

Python:从`datetime.datetime`转换为`time.time`

在Python中,如何将a datetime.datetime转换为float我从time.time函数中获得的那种?

python time calendar

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

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

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

python timezone utc

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

如何将Python日期时间对象转换为UTC?

我有一个python datetime对象,我想转换为UTC.我计划以RFC 2822格式输出它以放入HTTP标头,但我不确定这对于这个问题是否重要.我在这个网站上找到了一些关于转换时间对象的信息,它看起来更简单,但这次我真的想使用datetime对象,因为我使用timedeltas来调整它们:

我试过这样的事情:

from datetime import datetime, timedelta

now = datetime.now()
fiveMinutesLater = datetime.now() + timedelta(minutes=5)
fiveMinutesLaterUtc = ???
Run Code Online (Sandbox Code Playgroud)

时间或日期时间模块中的任何内容看起来都不会对我有所帮助.看起来我可以通过将datetime对象传递给3或4个函数来实现它,但我想知道是否有更简单的方法.

我宁愿不使用第三方模块,但我可能会认为它是唯一合理的选择.

python time datetime utc

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

如何在Python中修改datetime.datetime.hour?

我想计算从现在到明天12:00之间的秒数.所以我需要明天12:00 datetime对象.

这是伪代码:

today_time = datetime.datetime.now()
tomorrow = today_time + datetime.timedelta(days = 1)
tomorrow.hour = 12
result = (tomorrow-today_time).total_seconds()
Run Code Online (Sandbox Code Playgroud)

但它会引发这个错误:

AttributeError: attribute 'hour' of 'datetime.datetime' objects is not writable
Run Code Online (Sandbox Code Playgroud)

如何修改小时或如何获得明天的12:00 datetime对象?

python datetime

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

将python datetime转换为时间戳并以UTC格式返回仍然使用本地时区

我正在使用一个代码,它给我utc时间戳,我想将它们转换为适当的日期时间.不幸的是,当我用pytz测试简单的情况时,日期时间增加了6个小时(CST偏移到UTC).我需要保持时区数据的正确性,因为我正在计算其他时区之间的差异.任何想法为什么以及如何将utc时间戳转换为utc日期时间?

In [1]: import pytz

In [2]: from datetime import datetime

In [3]: import time

In [4]: datetime.fromtimestamp(time.mktime(datetime(7,1,1, tzinfo=pytz.UTC).timetuple()), tz=pytz.UTC)
Out[4]: datetime.datetime(2007, 1, 1, 6, 0, tzinfo=<UTC>)

In [5]: datetime.fromtimestamp(time.mktime(datetime(7,1,1).utctimetuple()), tz=pytz.UTC)
Out[5]: datetime.datetime(2007, 1, 1, 6, 0, tzinfo=<UTC>)

In [6]: datetime.fromtimestamp(time.mktime(datetime(7,1,1).utctimetuple()))
Out[6]: datetime.datetime(2007, 1, 1, 0, 0)
Run Code Online (Sandbox Code Playgroud)

python time datetime pytz

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

datetime到Unix时间戳,精度为毫秒

我正在尝试做一些非常简单的事情,将datetime对象将来三天转换为Unix UTC时间戳:

import datetime, time
then = datetime.datetime.now() + datetime.timedelta(days=3)
# Method 1
print then.strftime("%s")
# Method 2
print time.mktime(then.timetuple())
# Method 3 
print time.mktime(then.timetuple()) * 1000
Run Code Online (Sandbox Code Playgroud)

方法1和2给我的Unix时间,,毫秒不和方法3给我毫秒,没有实际精确到毫秒.

当我简单地打印时then,我得到了datetime.datetime(2011, 11, 19, 15, 16, 8, 278271),所以我知道精度可用几毫秒.如何获得具有实际毫秒精度的Unix时间戳?如果它作为一个浮动返回,我必须将它变平为一个int,这没关系.有没有我正在寻找的解决方案呢?

python datetime

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

在mysql datetime和python timestamp之间转换的正确方法是什么?

根据http://dev.mysql.com/doc/refman/5.0/en/datetime.html.我必须找到一种方法将字符串值'YYYY-MM-DD HH:MM:SS'转换为时间戳int.

我抬头看了python的doc.

我试过了:

print(time.strptime('2013-01-12 15:27:43', '%Y-%m-%d %H:%M:%S'))   
Run Code Online (Sandbox Code Playgroud)

python给我一个像这样的结果.

time.struct_time(tm_year = 2013,tm_mon = 1,tm_mday = 12,tm_hour = 15,tm_min = 27,tm_sec = 43,tm_wday = 5,tm_yday = 12,tm_isdst = -1)

我试过这个将时间戳转换为YYYY-MM-DD HH:MM:SS格式

print(time.strftime('%Y-%m-%d %H:%M:%S',time.time()))
Run Code Online (Sandbox Code Playgroud)

python给我一个类型错误.

我只使用时间戳来计算时间和日期,我希望在python中已有一种方法,简单高效,而且不必创建临时数据.

根据答案,我写了两种方法.希望它会有所帮助

import time

def convertTimestampToSQLDateTime(value):
    return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(value))

def convertSQLDateTimeToTimestamp(value):
    return time.mktime(time.strptime(value, '%Y-%m-%d %H:%M:%S'))
Run Code Online (Sandbox Code Playgroud)

mysql python-3.x

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