Hướng dẫn python compare timestamp greater than - python so sánh dấu thời gian lớn hơn

Tôi thấy những so sánh ngày đó có thể được thực hiện và cũng có datetime.timedelta(), nhưng tôi đang đấu tranh để tìm hiểu làm thế nào để kiểm tra xem thời gian hiện tại (datetime.datetime.now()) sớm hơn, sau này hoặc giống nhau hơn một thời gian xác định (ví dụ: 8 giờ sáng) .

Hướng dẫn python compare timestamp greater than - python so sánh dấu thời gian lớn hơn

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges286 bronze badges

Đã hỏi ngày 2 tháng 12 năm 2009 lúc 8:22Dec 2, 2009 at 8:22

1

Bạn không thể so sánh một thời điểm cụ thể (chẳng hạn như "ngay bây giờ") với một sự kiện tái phát, không trộn lẫn (8 giờ sáng xảy ra mỗi ngày).

Bạn có thể kiểm tra xem bây giờ là trước hoặc sau 8 giờ sáng hôm nay:

>>> import datetime
>>> now = datetime.datetime.now()
>>> today8am = now.replace(hour=8, minute=0, second=0, microsecond=0)
>>> now < today8am
True
>>> now == today8am
False
>>> now > today8am
False

Đã trả lời ngày 2 tháng 12 năm 2009 lúc 8:32Dec 2, 2009 at 8:32

2

Bạn có thể sử dụng phương pháp

>>> this_morning = datetime.datetime(2009, 12, 2, 9, 30)
>>> last_night = datetime.datetime(2009, 12, 1, 20, 0)
>>> this_morning.time() < last_night.time()
True
0 của các đối tượng
>>> this_morning = datetime.datetime(2009, 12, 2, 9, 30)
>>> last_night = datetime.datetime(2009, 12, 1, 20, 0)
>>> this_morning.time() < last_night.time()
True
1 để có thời gian trong ngày, bạn có thể sử dụng để so sánh mà không cần tính đến ngày:

>>> this_morning = datetime.datetime(2009, 12, 2, 9, 30)
>>> last_night = datetime.datetime(2009, 12, 1, 20, 0)
>>> this_morning.time() < last_night.time()
True

Đã trả lời ngày 2 tháng 12 năm 2009 lúc 8:36Dec 2, 2009 at 8:36

Pär Wieslanderpär WieslanderPär Wieslander

Phù bằng vàng 28K752 Huy hiệu bạc53 Huy hiệu Đồng7 gold badges52 silver badges53 bronze badges

1

Bạn có thể so sánh trực tiếp các đối tượng DateTime.DateTime

E.g:

>>> a
datetime.datetime(2009, 12, 2, 10, 24, 34, 198130)
>>> b
datetime.datetime(2009, 12, 2, 10, 24, 36, 910128)
>>> a < b
True
>>> a > b
False
>>> a == a
True
>>> b == b
True
>>> 

Đã trả lời ngày 2 tháng 12 năm 2009 lúc 8:26Dec 2, 2009 at 8:26

KimvaiskimvaisKimvais

37.4K16 Huy hiệu vàng107 Huy hiệu bạc140 Huy hiệu đồng16 gold badges107 silver badges140 bronze badges

Ngạc nhiên tôi chưa thấy lớp lót này ở đây:

datetime.datetime.now().hour == 8

Đã trả lời ngày 20 tháng 11 năm 2019 lúc 10:19Nov 20, 2019 at 10:19

Lấy cảm hứng từ Roger Pate:

import datetime
def todayAt (hr, min=0, sec=0, micros=0):
   now = datetime.datetime.now()
   return now.replace(hour=hr, minute=min, second=sec, microsecond=micros)    

# Usage demo1:
print todayAt (17), todayAt (17, 15)

# Usage demo2:    
timeNow = datetime.datetime.now()
if timeNow < todayAt (13):
   print "Too Early"

Đã trả lời ngày 15 tháng 3 năm 2012 lúc 9:14Mar 15, 2012 at 9:14

AndrewrandrewrAndrewR

1521 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges

Bạn có thể sử dụng Dòng thời gian để so sánh tăng thời gian.

>>> import datetime 

>>> now = datetime.datetime.now()
>>> after_10_min = now + datetime.timedelta(minutes = 10)
>>> now > after_10_min 

False

Chỉ là sự kết hợp của những câu trả lời này và Roger

Đã trả lời ngày 20 tháng 6 năm 2020 lúc 14:55Jun 20, 2020 at 14:55

Một cách khác để làm điều này mà không cần thêm các phụ thuộc hoặc sử dụng DateTime là chỉ cần thực hiện một số toán học về các thuộc tính của đối tượng thời gian. Nó có hàng giờ, phút, giây, mili giây và múi giờ. Để so sánh rất đơn giản, giờ và phút là đủ.

d = datetime.utcnow()
t = d.time()
print t.hour,t.minute,t.second

Tôi không khuyên bạn nên làm điều này trừ khi bạn có trường hợp sử dụng cực kỳ đơn giản. Đối với bất cứ điều gì đòi hỏi nhận thức hoặc nhận thức về thời gian về ngày, bạn nên sử dụng DateTime.

Đã trả lời ngày 3 tháng 4 năm 2013 lúc 1:03Apr 3, 2013 at 1:03

Hướng dẫn python compare timestamp greater than - python so sánh dấu thời gian lớn hơn

Thomas Dignanthomas DignanThomas Dignan

7,0063 huy hiệu vàng37 Huy hiệu bạc48 Huy hiệu đồng3 gold badges37 silver badges48 bronze badges

DateTime có khả năng so sánh

>>> import datetime
>>> import time
>>> a =  datetime.datetime.now()
>>> time.sleep(2.0)
>>> b =  datetime.datetime.now()
>>> print a < b
True
>>> print a == b
False

Đã trả lời ngày 2 tháng 12 năm 2009 lúc 8:26Dec 2, 2009 at 8:26

Kimvaiskimvaisluc

37.4K16 Huy hiệu vàng107 Huy hiệu bạc140 Huy hiệu đồng23 gold badges125 silver badges171 bronze badges

Làm cách nào để so sánh hai dấu thời gian trong Python?

So sánh giữa các đối tượng dấu thời gian của gấu trúc được thực hiện bằng cách sử dụng các toán tử so sánh đơn giản:>,using simple comparison operators: >, <,==,< = , >=. The difference can be calculated using a simple '–' operator. Given time can be converted to pandas timestamp using pandas. Timestamp() method.

Làm thế nào để bạn kiểm tra xem một ngày lớn hơn một ngày khác trong Python?

So sánh ngày khá dễ dàng trong Python.Ngày có thể được so sánh dễ dàng bằng cách sử dụng các toán tử so sánh (như, =,! =

Làm cách nào để so sánh hai ngày trong Python?

Sử dụng hàm Strptime (DATE_STR, Định dạng) để chuyển đổi chuỗi ngày thành đối tượng DateTime theo định dạng tương ứng.Để có được sự khác biệt giữa hai ngày, trừ ngày 2 từ ngày 1.Một kết quả là một đối tượng Timedelta.subtract date2 from date1. A result is a timedelta object.

Làm thế nào để bạn kiểm tra xem thời gian có giữa hai lần trong Python không?

Do đó, bạn có thể sử dụng biểu thức bắt đầustart <= current <= end to check if a current time falls into the interval [start, end] when assuming that start , end , and current are datetime objects.