相关疑难解决方法(0)

Python在正确的时区获得当前时间

现在我用

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)


编辑

无法发布答案,因为此问题已标记为已关闭

我遇到此问题的服务器不再存在.无论如何,这里有一些值得检查的事情:

  • 您的服务器/系统的时区是否设置正确?
    • docker容器可能与主机不同步,值得检查.
  • 时间是否正确?更改时区后,您最终没有达到+2小时?

python time timezone

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

在Python中设置时区

是否有可能使用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)

我无法安装任何其他模块等,因为我正在使用共享的虚拟主机.

有任何想法吗?

python timezone

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

如何在python中使用带有datetime对象的时区?

如何在我的时区中正确表示不同的时区?以下示例仅有效,因为我知道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)

python timezone datetime

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

需要在Python中将UTC(aws ec2)转换为PST

我需要将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时间的任何原因?

python

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

Unix 时间戳到 iso 8601 时间格式

当我将 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)

python python-2.7 python-3.x

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

Python (datetime) timezone conversion off by 4 minutes

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 timezone datetime utc

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

如何在Python中获取印度当前时间

如何获取印度 python 中的当前时间戳?

我尝试过time.ctime(), 但他们返回的时间都与印度不同。datetime.utcnow()datetime.now()

上面的代码返回的时间与我计算机上的当前时间不匹配。而且我电脑上的时间绝对是正确的。

python time timezone timestamp python-3.x

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

如何在 Python 中获取或打印 GMT 时区的当前日期时间?

这里我打印 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)

python datetime utc gmt

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

如何在Python中将UTC时间转换为本地时间?

那么,我想将 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)

python time timezone datetime python-3.x

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

在python中如何将特定本地时间(不是我的本地)的日期时间转换为UTC

我从伦敦的服务中提取数据,他们在伦敦当地时间给我日期和时间信息.冬天的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)

python datetime

2
推荐指数
1
解决办法
4649
查看次数

How to find what time is it in another country from local

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 timezone

2
推荐指数
1
解决办法
1830
查看次数

标签 统计

python ×11

timezone ×7

datetime ×5

python-3.x ×3

time ×3

utc ×2

gmt ×1

python-2.7 ×1

timestamp ×1