본문 바로가기
python3 selenium

python selenium 서버 시간 가져오기 & timer

by Pymac 2023. 11. 30.
반응형
   def showtime(self):

               # 서버의 현재 시간을 가져오는 함수
        def get_server_time():
            try:
                response = requests.get('서버 주소')  # 서버의 URL로 변경
                server_time_str = response.headers['Date']
                server_time_utc = time.mktime(time.strptime(server_time_str, '%a, %d %b %Y %H:%M:%S %Z'))
                server_time_kst = server_time_utc + (9 * 3600)  # UTC에서 KST로 변환 (9시간 추가)
                return server_time_kst
            except Exception as e:
                print(f'Error getting server time: {e}')
                return None

        # 서버 시간 가져오기
        global server_time
        server_time = get_server_time()

        if server_time is not None:
            kor = time.localtime(server_time)
            self.hour.display(kor.tm_hour)
            self.min.display(kor.tm_min)
            self.sec.display(kor.tm_sec)

        # 타이머 설정 (1초마다, 콜백함수)
        timer1 = Timer(0.1, self.showtime)
        timer1.start()  
 
   def showtime(self):

       # 1970년 1월 1일 0시 0분 0초 부터 현재까지 경과시간 (초단위)
        t = time.time()
        # 한국 시간 얻기
        kor = time.localtime(t)

        self.hour.display(kor.tm_hour)
        self.min.display(kor.tm_min)
        self.sec.display(kor.tm_sec)

        # 타이머 설정  (1초마다, 콜백함수)
        timer1 = Timer(1, self.showtime)
        timer1.start()  
 
 
 
 
   def bookings(self):

        select_time1 = self.booking_time.time()
        self.select_time_str1 = select_time1.toString("HH:mm:ss")
        self.timer1 = QTimer(self)
        self.timer1.timeout.connect(self.perform_action1)
        self.timer1.start(100)  # 0.1초 간격으로 타이머 시작

    def perform_action1(self):
        current_time_str1 = time.strftime("%H:%M:%S", time.localtime(server_time))

        #print("예약 시간:", self.select_time_str1)
        #print("현재 시간:", current_time_str1)  

        if self.select_time_str1 == current_time_str1:
            self.timer1.stop()
반응형