从" int"添加或减去分钟格式化时间

时间:2018-03-31 13:16:57

标签: c#

是否有任何简单的方法(使用日期时间等)来正确地减去/添加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

任何简单的解决方法?

1 个答案:

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