我如何检查给定的持续时间(00:20:40,1:20:40,00:00:10)是<20秒,> 1小时和<10秒

时间:2018-09-09 14:32:03

标签: javascript

我有一个名为“持续时间”的字段,其中包含类似于00:20:40的时间。如何检查给定的持续时间(00:20:40,1:20:40,00:00:10)<20sec, > 1小时又<10秒。我尝试了以下操作,但没有成功。

var time = new Date('00:10:40');
  time.getMinutes();

输出如下:

给定的时间是<20分钟。因此,我需要像这样检查

if(<20 minutes){...}

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

var time = "00:20:40".split(":");
var minutes = time[1];

给定的字符串“ 00:20:40”不是有效的日期字符串,因此不能作为参数传递给新的Date()。在这种情况下,您可以使用上述解决方案对字符串进行拆分,并为您提供一个由[hh,mm,ss]组成的数组,并且可以在时间[1]上获取分钟数。

希望对您有帮助。

答案 1 :(得分:1)

您必须使用Date创建Date对象才能使用它。

    public List<ApplicationRolesDropdownListViewModel > GetAllApplicationRoles()
    {
        List<ApplicationRolesDropdownListViewModel > data = new List<ApplicationRolesDropdownListViewModel >();
        try
        {
            var applicationRoles = dbContext.AspNetRolesExtendedDetails.ToList();
            data = (from ar in applicationRoles
                    join a in dbContext.AspNetApplications
                     on ar.ApplicationId equals a.Id
                    select new ApplicationRolesDropdownListViewModel 
                    {
                        RoleId = ar.Id,
                        ApplicationRoleName = ar.Name + " ( " + a.Name + " )"
                    }).ToList();
        }
        catch (Exception e)
        {
            logger.Error(e, AspNetEventLogs.NotFound);
        }
        return data;
    }

答案 2 :(得分:0)

function toSeconds (duration) {
  const regex = /(\d+):(\d+):(\d+)/;
  const matched = duration.match(regex);
  const hours = parseInt(matched[1]);
  const minutes = parseInt(matched[2]);
  const seconds = parseInt(matched[3]);
  return (hours * 60 * 60) + (minutes * 60) + seconds;
}

function toMinutes (duration) {
  const seconds = toSeconds(duration);
  return seconds / 60;
}

function toHours (duration) {
  const minutes = toMinutes(duration);
  return minutes / 60;
}

toSeconds('00:20:40') // 1240
toMinutes('00:20:40') // 20.666666666666668
toMinutes('01:20:40') // 80.66666666666667
toHours('01:20:40') // 1.3444444444444446