是否有任何简单的方法(使用日期时间等)来正确地减去/添加int
格式化时间的分钟,例如:
1630 - 45 //I want to subtract 45 minutes from 1630 (a.k.a. 16:30), that gives 1585
//However, I want to get 15:45
任何简单的解决方法?
答案 0 :(得分:3)
您可以通过DateTime
通过string
(然后再返回)转换为var time = 1630;
var newTime = int.Parse(
DateTime.ParseExact(time.ToString("0000"), "HHmm", null)
.AddMinutes(-45)
.ToString("HHmm"));
,例如:
public static int AddMinutes(this int source, int minutes)
{
return int.Parse(
DateTime.ParseExact(source.ToString("0000"), "HHmm", null)
.AddMinutes(-45)
.ToString("HHmm"));
}
包含在扩展方法中:
var time = 1630;
var newTime = time.AddMinutes(-45);
并像这样使用:
lis = [2,3,4,1,3,5,3]
while 3 in lis:
i = lis.index(3)
lis.pop(i)
print(lis)