Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查日期时间是否在正午之前_Python_Datetime - Fatal编程技术网

Python 如何检查日期时间是否在正午之前

Python 如何检查日期时间是否在正午之前,python,datetime,Python,Datetime,我在python中有一个datetime对象,我想创建一个函数来检查输入是在datetime当天的上午还是下午(即中午12点之前还是之后)。如何手动创建时间12:00,是否可以使用大于或小于的符号()?调用datetime对象,并将其与datetime.time()对象进行比较: if dt.time() < datetime.time(12): 后者更简单,前者为您提供了更大的灵活性,可与包含分钟成分的时间进行比较: if dt.time() < datetime.time(12

我在python中有一个datetime对象,我想创建一个函数来检查输入是在datetime当天的上午还是下午(即中午12点之前还是之后)。如何手动创建时间
12:00
,是否可以使用大于或小于的符号(
)?

调用
datetime
对象,并将其与
datetime.time()对象进行比较:

if dt.time() < datetime.time(12):
后者更简单,前者为您提供了更大的灵活性,可与包含分钟成分的时间进行比较:

if dt.time() < datetime.time(12, 30)
if dt.time()
演示:

导入日期时间 >>>dt=datetime.datetime.now() >>>dt datetime.datetime(2014,2,10,10,39,30768979) >>>dt.time()>>dt.小时<12 真的 >>>dt=dt.更换(小时=20) >>>dt datetime.datetime(2014,2,10,20,39,30768979) >>>dt.time()>>dt.hour
您只能根据工时部分做出决定。
if dt.time() < datetime.time(12, 30)
>>> import datetime
>>> dt = datetime.datetime.now()
>>> dt
datetime.datetime(2014, 2, 10, 10, 39, 30, 768979)
>>> dt.time() < datetime.time(12)
True
>>> dt.hour < 12
True
>>> dt = dt.replace(hour=20)
>>> dt
datetime.datetime(2014, 2, 10, 20, 39, 30, 768979)
>>> dt.time() < datetime.time(12)
False
>>> dt.hour < datetime.hour
False