Python 中的时间加法
假设我们有一个字符串,它用带有 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
如果 h < 12,则 suffix := 'am',否则 suffix := 'pm'
h := h mod 12
如果 h 与 0 相同,则
h := 12
返回时间 h:m suffix
让我们看看以下实现以更好地理解 -
範例
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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP