我正在尝试创建我的第一个函数。这就是我到目前为止所做的:
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"
如何重新编写它以使该功能像这样工作?
答案 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