如何调用自定义功能?

时间:2018-02-08 17:50:53

标签: javascript function

我正在尝试创建我的第一个函数。这就是我到目前为止所做的:

function subtracthour(str)  {
  var x = "04:30";
  var m = x.slice(3, 5);

  var h = x.slice(0, 2);
  if(h == '00') { h = "24" }
  var h = Number(h) - Number(1)
  if(h <= 9) {   
     h = "0" + h
   }

  var y = h + ":" + m

  alert(y);
}

当我从一个按钮运行它以进行测试时,此代码可以正常工作。

我想要做的是编辑功能,以便我可以像这样使用它:

c = "18:00" ;
c = subtracthour(c);
// c == "17:00"

如何重新编写它以使该功能像这样工作?

2 个答案:

答案 0 :(得分:1)

当您使用return str时,您将原始输入字符串作为输出返回,您需要返回输出y

function subtracthour(str) {
  var m = str.slice(3, 5);
  var h = str.slice(0, 2);

  if (h == '00') { h = "24"; }
  var h = Number(h) - Number(1);
  if (h <= 9) { h = "0" + h; }

  var y = h + ":" + m;
  return y;    // Note this was return str
}

console.log(subtracthour("13:13"));

或者,您可以将时间戳转换为Date并减去一小时:

function subtracthour(str) {
  return new Date(new Date("02/01/1970 " + str) - 3600000).toTimeString().substring(0,5);
}

console.log(subtracthour("00:13"));

答案 1 :(得分:0)

这就是我所追求的,我认为它的工作就像我现在想要的那样:

function GetData()  {
  var x = "04:30";
  var x = subtracthour(x)

  alert(x);
}

function subtracthour(str) {
  var m = str.slice(3, 5);
  var h = str.slice(0, 2);
  if (h == '00') {
     h = "24"
  }
  var h = Number(h) - Number(1)
  if (h <= 9) {
    h = "0" + h
  }

  var y = h + ":" + m
  return y    // Note this was return str
}

非常感谢Nick A