成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Python列表中判斷是否包含上午或者下午的時間

開發 后端
在Python中,要判斷一個包含時間戳的列表是否同時包含上午(AM)和下午(PM)的時間,你首先需要定義什么是上午和下午。通常,我們認為上午是從午夜到中午12點,下午是從中午12點到午夜。

一、判斷是否包含上午和下午

在Python中,要判斷一個包含時間戳的列表是否同時包含上午(AM)和下午(PM)的時間,你首先需要定義什么是上午和下午。通常,我們認為上午是從午夜到中午12點,下午是從中午12點到午夜。

由于你的時間戳格式是YYYY-MM-DD HH:MM:SS,并且沒有AM或PM的指示符,你需要根據小時數來判斷是上午還是下午。通常,我們可以認為小時數在00到11之間是上午,小時數在12到23之間是下午。

下面是一個示例函數,用于判斷列表dates是否同時包含上午和下午的時間戳:

from datetime import datetime  
  
class TimeChecker:  
      def contains_morning_and_afternoon(self, dates):
              morning_found = False
              afternoon_found = False

              for date_str in dates:
                  # 將字符串轉換為datetime對象
                  date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
                  # 獲取小時數
                  hour = date_obj.hour

                  # 判斷是上午還是下午
                  if 0 <= hour < 12:
                      morning_found = True
                  elif 12 <= hour < 24:
                      afternoon_found = True

              if morning_found and afternoon_found:  # 上午和下午都有,返回3
                  return 3
              elif morning_found:  # 只有上午,返回1
                  return 1
              elif afternoon_found:  # 只有下午,返回2
                  return 2
              else:  # 上午和下午都沒有,返回0
                  return 0

# 使用示例  
time_checker = TimeChecker()  
dates = ["2024-04-11 10:03:40", "2024-04-11 15:03:40"]  
result = time_checker.contains_morning_or_afternoon(dates)  
print(result)  # 根據當前時間,輸出可能是1, 2, 或 3

在這個函數中,我們遍歷列表中的每個時間戳字符串,將其轉換為datetime對象,然后檢查小時數來確定是上午還是下午。我們使用兩個布爾變量morning_found和afternoon_found來跟蹤是否找到了上午和下午的時間。如果在遍歷過程中同時找到了上午和下午的時間,函數會提前返回True。如果遍歷結束后都沒有找到上午和下午的時間,函數會返回False。

二、判斷是否只檢查上午或下午的邏輯

要增加根據當前時間來判斷是否只檢查上午或下午的邏輯,你需要首先獲取當前時間的小時數,然后根據這個小時數來決定是否只檢查上午或下午的時間戳。以下是修改后的代碼:

from datetime import datetime  
  
class TimeChecker:  
    def contains_morning_or_afternoon(self, dates):  
        # 獲取當前時間的小時數  
        current_hour = datetime.now().hour  
        morning_found = False  
        afternoon_found = False  
  
        # 根據當前時間決定檢查策略  
        if 0 <= current_hour < 12:  
            # 當前是上午,只檢查上午的時間戳  
            for date_str in dates:  
                date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")  
                hour = date_obj.hour  
                if 0 <= hour < 12:  
                    morning_found = True  
                    break  # 找到上午的時間就退出循環  
        elif 12 <= current_hour < 24:  
            # 當前是下午或晚上,只檢查下午的時間戳  
            for date_str in dates:  
                date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")  
                hour = date_obj.hour  
                if 12 <= hour < 24:  
                    afternoon_found = True  
                    break  # 找到下午的時間就退出循環  
  
        # 根據找到的時間返回相應的值  
        if morning_found and afternoon_found:  
            return 3  # 上午和下午都有  
        elif morning_found:  
            return 1  # 只有上午  
        elif afternoon_found:  
            return 2  # 只有下午  
        else:  
            return 0  # 上午和下午都沒有  
  
# 使用示例  
time_checker = TimeChecker()  
dates = ["2024-04-11 10:03:40", "2024-04-11 15:03:40"]  
result = time_checker.contains_morning_or_afternoon(dates)  
print(result)  # 根據當前時間,輸出可能是1, 2, 或 3

在這個修改后的代碼中,TimeChecker 類有一個方法contains_morning_or_afternoon,它首先獲取當前時間的小時數,然后根據這個小時數來決定是檢查上午的時間戳還是下午的時間戳。如果當前是上午,它就只查找列表中的上午時間戳;如果當前是下午或晚上,它就只查找列表中的下午時間戳。一旦找到匹配的時間段,它就會退出循環并返回相應的值。如果列表中沒有找到任何匹配的時間段,它就會返回0。

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-09-19 23:21:48

Python列表

2024-01-09 16:43:49

Shell腳本開發

2021-11-28 23:54:28

子樹B結構

2024-07-22 15:42:08

Linux字符串

2020-10-14 06:18:20

Golang字符串數組

2021-11-08 06:34:08

辭退面試項目

2024-10-09 07:59:10

C#接口信息

2020-02-12 12:28:29

python列表數據類型

2020-03-02 00:32:08

Python列表for循環

2020-10-31 21:59:37

Python列表開發

2023-05-04 07:43:47

MySQL數據庫

2018-12-14 09:32:06

億級數據存在

2024-08-28 10:04:17

2023-03-26 00:15:43

2010-03-15 12:36:26

Python列表

2020-10-22 08:06:05

JavaScrip語言類型

2020-10-22 14:00:31

JavaScript數字變量

2010-11-11 12:06:39

SQL自增列

2021-02-01 07:55:37

JS 數組元素

2018-12-14 09:16:31

裝載數據數組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区二区三区免费观看 | 黄网站色大毛片 | 91精品国产91久久久久久不卞 | 人人人干 | 欧美一级全黄 | 网页av| 日韩欧美中文 | 中国大陆高清aⅴ毛片 | 羞羞视频免费观 | 蜜桃视频在线观看免费视频网站www | 国产伦精品| 男人的天堂在线视频 | 欧美一区二区三区精品免费 | 国产精品欧美一区二区 | 日韩亚洲欧美综合 | 欧美日韩亚洲国产综合 | 青青草av在线播放 | 久久久久黄色 | 精品国产1区2区3区 一区二区手机在线 | 欧美激情五月 | 一级aaaaaa毛片免费同男同女 | 日本一区二区三区免费观看 | 久久av资源网 | 国产精品一区2区 | 99国产精品视频免费观看一公开 | www.久| 91精品久久久久久久久中文字幕 | 日韩欧美精品在线 | 亚洲福利网站 | 亚洲免费三区 | 黄色一级大片在线免费看产 | 91超碰caoporn97人人 | 国产精品性做久久久久久 | 国产精品日韩高清伦字幕搜索 | 日韩精品一区二区三区四区 | 国产乱码精品一区二区三区忘忧草 | 欧美日韩综合精品 | 国产一区二区三区四区五区3d | 羞羞视频在线网站观看 | 亚洲欧美一区二区三区国产精品 | 日韩福利视频 |