如何使用py.test猴子python的datetime.datetime.now? - python

我需要测试使用datetime.datetime.now()的函数。最简单的方法是什么?

参考方案

您需要monkeypatch datetime.now函数。在下面的示例中,我正在创建夹具,以后可以在其他测试中重复使用:

import datetime
import pytest

FAKE_TIME = datetime.datetime(2020, 12, 25, 17, 5, 55)

@pytest.fixture
def patch_datetime_now(monkeypatch):

    class mydatetime:
        @classmethod
        def now(cls):
            return FAKE_TIME

    monkeypatch.setattr(datetime, 'datetime', mydatetime)


def test_patch_datetime(patch_datetime_now):
    assert datetime.datetime.now() == FAKE_TIME

如何在Python中查找当前日期是工作日还是周末? - python

请在以下建议我。如何在Python中查找特定的一天是工作日还是周末? 参考方案 import datetime weekno = datetime.datetime.today().weekday() if weekno<5: print "Weekday" else: print "Weekend"

Python从时间戳开始获得小时 - python

我需要根据小时对时间戳进行分类,例如,如果它是在上午7点到上午9点之间,则应该是上午。我有从csv文件中获取的时间戳,我只需要小时,因此可以使用if语句对数字进行分类。我将从date列获取时间戳,并创建一个名为hour的新列,df['hour'] = df.date.dt.hour 但它给了我以下错误:AttributeError:只能将…

如何在Python中获取UTC日期字符串? - python

我正在尝试将utc日期字符串作为“YYYYMMDD”现在,我执行以下操作:nowTime = time.gmtime(); nowDate = date(nowTime.tm_year, nowTime.tm_mon, nowTime.tm_mday) print nowDate.strftime('%Y%m%d') 我曾经做:datet…

Python日期时间模式匹配 - python

我试图根据不同格式的列表来确定是否可以将字符串转换为日期。因此,必须遍历整个列表。如果找到匹配项,则应返回该匹配项。如果所有尝试均返回错误,则应返回该错误。我不太确定如何执行此操作,我的方法如下所示。_DEFAULT_PATTERNS = ["%d.%m.%Y", "%y-%m-%d"] try: if format …

Python-使用时间戳记,时间戳记的日期和时间比较 - python

在过去的一个小时中,我一直在研究Python文档和许多SO问题。请原谅我是Python时差之谜所困的另一个Python新手。我的目标是确定当前时间与某个日期/时间之间的时差,而不管过去/将来如何,并返回可行的格式(例如秒)。 例如,如果输入是2:00 PM和4:00 PM(现在),我想说“-7200”,表示事件发生在两个小时前。如果输入为星期五下午4:00(…