相关疑难解决方法(0)

如何在python中获取当前时间并分解为年,月,日,小时,分钟?

我想获得当前时间在Python,并将它们分配到像变量year,month,day,hour,minute.如何在Python 2.7中完成?

python time datetime python-2.7

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

Python日期时间与时间模块之间的区别

我试图找出datetimetime模块之间的差异,以及每个模块应该用于什么.

我知道这datetime提供了日期和时间.该time模块有什么用?

可以理解的例子和关于时区的差异尤其令人感兴趣.

python time datetime

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

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万
查看次数

想在日志文件名中使用datetime

当我创建我的日志文件时,我希望该名称包含日期时间.

现在,在python中,您可以获取当前日期时间:

>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2012, 2, 3, 21, 35, 9, 559000)
Run Code Online (Sandbox Code Playgroud)

str版本是

>>> str(datetime.now())
'2012-02-03 21:35:22.247000'
Run Code Online (Sandbox Code Playgroud)

不是一个非常好的str附加到日志文件名称!我想我的日志文件是这样的:

mylogfile_21_35_03_02_2012.log
Run Code Online (Sandbox Code Playgroud)

有没有python可以做的事情让这很容易做到?请注意,我正在创建日志文件

fh = logging.FileHandler("mylogfile" + datetimecomp + ".log")
Run Code Online (Sandbox Code Playgroud)

有小费吗?

python

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

如何在python中检查当前时间是否在范围内?

我需要检查当前时间是否在时间范围内.最简单的情况time_end> time_start:

if time(6,0) <= now.time() <= time(12,00): print '1'
Run Code Online (Sandbox Code Playgroud)

但是当用户在结束时间小于开始时间时输入时间范围时开始麻烦,例如"23:00 - 06:00".像'00:00'这样的时间就在这个范围内.大约5年前我写了这个PHP函数:

function checkInterval($start, $end)
  {    
    $dt = date("H:i:s");    

    $tstart = explode(":", $start);
    $tend =   explode(":", $end);
    $tnow =   explode(":", $dt);

    if (!$tstart[2])
      $tstart[2] = 0;

    if (!$tend[2])
      $tend[2] = 0;  

    $tstart = $tstart[0]*60*60 + $tstart[1]*60 + $tstart[2];
    $tend   = $tend[0]*60*60   + $tend[1]*60   + $tend[2];
    $tnow   = $tnow[0]*60*60   + $tnow[1]*60   + $tnow[2];

    if ($tend < $tstart)
      {
        if ($tend - $tnow > 0 && $tnow > $tstart)
          return true; …
Run Code Online (Sandbox Code Playgroud)

python datetime range

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

Timezone.now()vs datetime.datetime.now()

我什么timezone.now()时候应该使用django ,什么时候应该使用python datetime.datetime.now()

例如,在下面INSERT哪个更有意义?

- Product.objects.create(title='Soap', date_added=datetime.datetime.now())
- Product.objects.create(title='Soap', date_added=timezone.now())
Run Code Online (Sandbox Code Playgroud)

是否有关于何时使用每种方法的经验法则?

python django datetime django-timezone

13
推荐指数
1
解决办法
4156
查看次数

`datetime.now(pytz_timezone)`什么时候失败?

delorean文档显示这种方式来获得在给定的时区当前时间 使用datetime:

from datetime import datetime
from pytz import timezone

EST = "US/Eastern"
UTC = "UTC"

d = datetime.utcnow()
utc = timezone(UTC)
est = timezone(EST)
d = utc.localize(d)
d = est.normalize(EST)
Run Code Online (Sandbox Code Playgroud)

并将其与基于delorian的代码进行比较:

from delorean import Delorean

EST = "US/Eastern"

d = Delorean(timezone=EST)
Run Code Online (Sandbox Code Playgroud)

我相信这个datetime例子应该写成:

from datetime import datetime
import pytz

eastern_timezone = pytz.timezone("US/Eastern")
d = datetime.now(eastern_timezone)
Run Code Online (Sandbox Code Playgroud)

这更简洁.

当最后一个代码示例失败而第一个代码示例继续工作时,是否有任何情况?


更新: 当前示例:

from datetime import datetime
import pytz

d = datetime.utcnow()
d = pytz.utc.localize(d)

est …
Run Code Online (Sandbox Code Playgroud)

python timezone datetime pytz delorian

11
推荐指数
1
解决办法
1827
查看次数

使用箭头从带有时区的字符串中解析日期和时间

我有

import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
Run Code Online (Sandbox Code Playgroud)

如何用Arrow解析这个问题,以便获得带有时区的Arrow对象tz?以下默认为UTC时间.

In [30]: arrow.get(s, 'YYYY/M/D HH:mm:ss')
Out[30]: <Arrow [2015-12-01T19:00:00+00:00]>
Run Code Online (Sandbox Code Playgroud)

我知道该.to功能,但转换时区,但不允许我更改为时区.

python timezone datetime arrow-python

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

在Python程序中打印2点之间的时间

我想知道一种在程序中两点之间切换的方法。在我的情况下,我将向用户询问10个问题,并在显示用户回答问题所花的时间之后(以下示例代码)。我将如何通过类似导入时间来做到这一点?

示例代码:

timer.start
question1 = input("What is your favorite game ?")
timer.end
print(timer.time)
Run Code Online (Sandbox Code Playgroud)

^ timer.x的内容将由您的建议取代。

python

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

使用pyscopg2和PostgreSQL将datetime插入数据库

我使用带pyscopg2的insert语句将日期时间戳插入sql数据库时遇到问题.

下面的代码是每次按下按钮时,它应该在包含buildingID(只是文本)的数据库中插入一行,以及按下按钮时的日期和时间.

我只是无法弄清楚如何插入当前的日期和时间.

# Inserts data into local database
def insertLocalDB():
    # Open a cursor to perform database operations
    cur = conn.cursor()
    cur.execute("INSERT INTO test_table (buildingID,datetime) VALUES(%s,%s)",
    ("01", datetime))  #HAS TO BE CURRENT DATE AND TIME
    # Make the changes to the database persistant
    conn.commit()
    # Close communication with the database
    cur.close()
Run Code Online (Sandbox Code Playgroud)

postgresql psycopg2

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