2个时间相减得到分钟数相减的函数
函数名称:timeDiffInMinutes
函数功能:计算两个时间相减得到的分钟数差值
输入参数:
- startTime:起始时间,格式为"hh:mm",例如"09:30"
- endTime:结束时间,格式为"hh:mm",例如"17:45"
输出结果:
- 返回两个时间相减得到的分钟数差值,如果起始时间晚于结束时间,则返回负数。
函数实现:
首先需要对输入参数进行检查和转换。我们可以使用正则表达式来检查输入参数是否符合要求。如果不符合要求,则抛出异常。
```python
import re
def timeDiffInMinutes(startTime, endTime):
# 检查输入参数格式是否正确
时间正则表达式java pattern = r'^([01]\d|2[0-3]):([0-5]\d)$'
if not re.match(pattern, startTime) or not re.match(pattern, endTime):
raise ValueError('Invalid input format')
# 将字符串转换成小时和分钟的整数
startHour, startMinute = map(int, startTime.split(':'))
endHour, endMinute = map(int, endTime.split(':'))
```
接下来,我们需要将起始时间和结束时间转换成分钟数。这样可以方便后续计算。
```python
# 将起始时间和结束时间转换成分钟数
startTotalMinutes = startHour * 60 + startMinute
endTotalMinutes = endHour * 60 + endMinute
```
然后,我们可以计算两个时间之间的分钟数差值。如果起始时间晚于结束时间,则返回负数。
```python
# 计算两个时间之间的分钟数差值
diffInMinutes = endTotalMinutes - startTotalMinutes
if diffInMinutes < 0:
diffInMinutes += 24 * 60
```
最后,我们将计算得到的分钟数差值作为函数返回值。
```python
return diffInMinutes
```
完整代码如下:
```python
import re
def timeDiffInMinutes(startTime, endTime):
# 检查输入参数格式是否正确
pattern = r'^([01]\d|2[0-3]):([0-5]\d)$'
if not re.match(pattern, startTime) or not re.match(pattern, endTime):
raise ValueError('Invalid input format')
# 将字符串转换成小时和分钟的整数
startHour, startMinute = map(int, startTime.split(':'))
endHour, endMinute = map(int, endTime.split(':'))
# 将起始时间和结束时间转换成分钟数
startTotalMinutes = startHour * 60 + startMinute
endTotalMinutes = endHour * 60 + endMinute
# 计算两个时间之间的分钟数差值
diffInMinutes = endTotalMinutes - startTotalMinutes
if diffInMinutes < 0:
diffInMinutes += 24 * 60
return diffInMinutes
```
使用示例:
```python
diff1 = timeDiffInMinutes('09:30', '17:45')
print(diff1) # 输出结果为495
diff2 = timeDiffInMinutes('23:00', '02:30')
print(diff2) # 输出结果为210
diff3 = timeDiffInMinutes('18:00', '08:00')
print(diff3) # 输出结果为720
```
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论