Computer >> Máy Tính >  >> Lập trình >> Python

Thêm thời gian bằng Python

Giả sử chúng ta có một chuỗi biểu thị thời gian đồng hồ 12 giờ với hậu tố sáng hoặc chiều và một số nguyên n cũng được cho trước, chúng ta sẽ thêm n phút vào thời gian và trả về thời gian mới ở định dạng tương tự.

Vì vậy, nếu đầu vào là s =​​"8:20 tối" và n =150, thì đầu ra sẽ là 10:50 tối

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau -

  • h, m:=lấy phần giờ và phút từ s

  • h:=h mod 12

  • nếu thời gian là 'chiều', thì

    • h:=h + 12

  • t:=h * 60 + m + n

  • h:=thương số của t / 60, m:=phần còn lại của t / 60

  • h:=h mod 24

  • hậu tố:='am' nếu h <12 nếu không là 'pm'

  • h:=h mod 12

  • nếu h giống 0 thì

    • h:=12

  • trả về hậu tố time h:m

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, s, n):
      h, m = map(int, s[:-2].split(':'))
      h %= 12
      if s[-2:] == 'pm':
         h += 12
      t = h * 60 + m + n
      h, m = divmod(t, 60)
      h %= 24
      suffix = 'a' if h < 12 else 'p'
      h %= 12
      if h == 0:
         h = 12
      return "{:02d}:{:02d}{}m".format(h, m, suffix)
ob = Solution()
print(ob.solve("8:20pm", 150))

Đầu vào

"8:20pm", 150

Đầu ra

10:50pm