在 Python 中添加时间

pythonserver side programmingprogramming更新于 2025/11/3 13:00:17

假设我们有一个字符串,表示带有后缀 am 或 pm 的 12 小时制时间,并且还给出了一个整数 n,我们将在该时间上添加 n 分钟并以相同格式返回新时间。

因此,如果输入如下 s = "8:20pm"并且 n = 150,则输出将为 10:50pm

为了解决这个问题,我们将遵循以下步骤 −

  • h, m := 从 s 中取出小时和分钟部分

  • h := h mod 12

  • 如果时间 s 为"pm",则

    • h := h + 12

  • t := h * 60 + m + n

  • h := t/60 的商,m := t/60 的余数

  • h := h mod 24

  • 后缀 := 'am' if h < 12 否则 'pm'

  • h := h mod 12

  • 如果 h 与 0 相同,则

    • h := 12

  • 返回时间 h:m 后缀

让我们看看以下实现以获得更好的理解 −

示例

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))

输入

"8:20pm", 150

输出

10:50pm

相关文章


有用资源