现在我用
import datetime
print(datetime.datetime.now().strftime("%X"))
Run Code Online (Sandbox Code Playgroud)
将当前时间显示为字符串.
问题是,我的计算机在Europe/Berlin时区中运行,此处不计算+2到UTC的偏移量.而不是19:22:26它应该显示21:22:26
与我在这里找到的其他答案不同,我不通过调用存储它
datetime.datetime(2014, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)
但
datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)
所以我尝试了(并且失败了)以下内容:
>>> from pytz import timezone
>>> datetime.datetime.now().astimezone(timezone('Europe/Berlin'))
ValueError: astimezone() cannot be applied to a naive datetime
Run Code Online (Sandbox Code Playgroud)
无法发布答案,因为此问题已标记为已关闭
我遇到此问题的服务器不再存在.无论如何,这里有一些值得检查的事情:
是否有可能使用Python在PHP中设置时区:
date_default_timezone_set("Europe/London");
$Year = date('y');
$Month = date('m');
$Day = date('d');
$Hour = date('H');
$Minute = date('i');
Run Code Online (Sandbox Code Playgroud)
我无法安装任何其他模块等,因为我正在使用共享的虚拟主机.
有任何想法吗?
如何在我的时区中正确表示不同的时区?以下示例仅有效,因为我知道EDT比我提前一小时,所以我可以取消注释myTimeZone()的减法
import datetime, re
from datetime import tzinfo
class myTimeZone(tzinfo):
"""docstring for myTimeZone"""
def utfoffset(self, dt):
return timedelta(hours=1)
def myDateHandler(aDateString):
"""u'Sat, 6 Sep 2008 21:16:33 EDT'"""
_my_date_pattern = re.compile(r'\w+\,\s+(\d+)\s+(\w+)\s+(\d+)\s+(\d+)\:(\d+)\:(\d+)')
day, month, year, hour, minute, second = _my_date_pattern.search(aDateString).groups()
month = [
'JAN', 'FEB', 'MAR',
'APR', 'MAY', 'JUN',
'JUL', 'AUG', 'SEP',
'OCT', 'NOV', 'DEC'
].index(month.upper()) + 1
dt = datetime.datetime(
int(year), int(month), int(day),
int(hour), int(minute), int(second)
)
# dt = dt - datetime.timedelta(hours=1)
# dt = dt - dt.tzinfo.utfoffset(myTimeZone())
return (dt.year, dt.month, …Run Code Online (Sandbox Code Playgroud) 我需要将UTC时间(在ec2实例上)转换为PST.我想这样做.
from datetime import datetime
from pytz import timezone
import pytz
date_format='%m/%d/%Y %H:%M:%S %Z'
date = datetime.now()
print 'Current date & time is:', date.strftime(date_format)
my_timezone=timezone('US/Pacific')
date = my_timezone.localize(date)
date = date.astimezone(my_timezone)
print 'Local date & time is :', date.strftime(date_format)
Run Code Online (Sandbox Code Playgroud)
但输出是:
Current date & time is: 01/10/2012 20:01:14
Local date & time is : 01/10/2012 20:01:14 PST
Run Code Online (Sandbox Code Playgroud)
我没有得到正确的PST时间的任何原因?
当我将 unix 时间 1463288494 转换为 isoformat 时,我得到 2016-05-14T22:01:34。我怎样才能得到包括 -07:00 的输出。在这种格式中 2016-05-14T22:01:34-07:00
from datetime import datetime
t = int("1463288494")
print(datetime.fromtimestamp(t).isoformat())
Run Code Online (Sandbox Code Playgroud) when I run this code:
#!/usr/bin/env python3
from datetime import datetime, timedelta
from dateutil import tz
from pytz import timezone
time = "2020-01-15 10:14:00"
time = datetime.strptime(time, "%Y-%m-%d %H:%M:%S")
print("time1 = " + str(time))
time = time.replace(tzinfo=timezone('America/New_York'))
print("time2 = " + str(time))
time = time.astimezone(tz.gettz('UTC')) # explicity convert to UTC time
print("time3 = " + str(time))
time = datetime.strftime(time, "%Y-%m-%d %H:%M:%S") # output format
print("done time4 = " + str(time))
Run Code Online (Sandbox Code Playgroud)
I get this output:
time1 = 2020-01-15 10:14:00
time2 = …Run Code Online (Sandbox Code Playgroud) 如何获取印度 python 中的当前时间戳?
我尝试过time.ctime(),
但他们返回的时间都与印度不同。datetime.utcnow()datetime.now()
上面的代码返回的时间与我计算机上的当前时间不匹配。而且我电脑上的时间绝对是正确的。
这里我打印 UTC 时区的当前日期时间。我想要通过这种方法当前 GMT 时区的日期时间。我怎么能够?
import datetime
dt_utcnow = datetime.datetime.utcnow()
print(dt_utcnow)
Run Code Online (Sandbox Code Playgroud)
输出
2020-08-31 09:06:26.661323
Run Code Online (Sandbox Code Playgroud) 那么,我想将 UTC 日期时间转换2021-08-05 10:03:24.585Z为印度日期时间,如何转换呢?
我尝试的是
from datetime import datetime
from pytz import timezone
st = "2021-08-05 10:03:24.585Z"
datetime_object = datetime.strptime(st, '%Y-%m-%d %H:%M:%S.%fZ')
local_tz = timezone('Asia/Kolkata')
start_date = local_tz.localize(datetime_object)
print(start_date.replace(tzinfo=local_tz))
Run Code Online (Sandbox Code Playgroud)
但输出仍然不符合我提到的如何转换时间并打印时间的时区。
输出:
2021-08-05 10:03:24.585000+05:21
Run Code Online (Sandbox Code Playgroud) 我从伦敦的服务中提取数据,他们在伦敦当地时间给我日期和时间信息.冬天的UTC和夏天的BST(UTC + 1).
在内部我们使用UTC作为一切,在Python中我如何将伦敦的东西转换为UTC以一种能够解决夏令时的方式?
我很欣赏DST翻转的某些时候是模棱两可的,只要它在今年剩下的时间里有效,这是可以接受的.
为了完整起见,我从他们那里得到以下信息:
dt="2012-10-12T19:30:00"
lcnid="LDN"
locale="en-gb"
Run Code Online (Sandbox Code Playgroud) this time, i have questions on timezones in Python
How do i , say from anywhere in the world, convert that local time into say, New york time? first of, I think datetime module is the one to use. Should I use utcfromtimestamp() , then use some other functions to convert to New york time? How do i actually do that. thanks
python ×11
timezone ×7
datetime ×5
python-3.x ×3
time ×3
utc ×2
gmt ×1
python-2.7 ×1
timestamp ×1