我怎样才能把这个静态函数变成一个允许参数的函数?

朋友

我有一个提示用户输入日期和用户输入未来日期的功能。然后计算两个日期之间的差异,并输出天数、小时数、分钟数和秒数。

我想让这个函数接受两个参数,当前和未来,例如:function calcTime(current, future)然后我希望它返回;天、小时、分钟和秒。

我不知道如何做到这一点,以及如何正确格式化我的calcTime(['2019' '11' '02' '30'], ['2020' '11' '02' '30']);(或任何最好的方式,等等)

这是我目前的功能:

function calcTime() {
  //user input
  var userYearCurrent = prompt("Enter a year in numbers(2019)", "Enter a year ex: 2019, 2020, 2021");
  var userMonthCurrent = prompt("Enter a month in numbers(1-12), or type a month name", "Enter a month ex: 11, November");
  var userDayCurrent = prompt("Enter a day of The month in mumbers(1-31)", "Enter a day of the month ex: 14, 21");
  var userTimeStringCurrent = prompt("Enter a time (2:05) or if seconds are needed(2:05:30)", "Enter a time of day ex: 11:15, do not use military time");
  //split time
  var userTimeStringCurrentParts = userTimeStringCurrent.split(':');
     if (userTimeStringCurrentParts.length === 2) {
         userTimeStringCurrentParts.push('00'); // empty seconds
     }
     var userHoursCurrent = parseInt(userTimeStringCurrentParts[0]);
     var userMinutesCurrent = parseInt(userTimeStringCurrentParts[1]);
     var userSecondsCurrent = parseInt(userTimeStringCurrentParts[2]);
//user input
  var userYearFuture = prompt("Enter a FUTURE year in numbers(2019)", "Enter a year ex: 2019, 2020, 2021");
  var userMonthFuture = prompt("Enter a FUTURE month in numbers(1-12), or type a month name", "Enter a month ex: 11, November");
  var userDayFuture = prompt("Enter a FUTURE day of The month in mumbers(1-31)", "Enter a day of the month ex: 14, 21");
  var userTimeStringFuture = prompt("Enter a FUTURE time (2:05) or if seconds are needed(2:05:30)", "Enter a time of day ex: 11:15, do not use military time");
//split time
  var userTimeStringFutureParts = userTimeStringFuture.split(':');
      if (userTimeStringFutureParts.length === 2) {
          userTimeStringFutureParts.push('00'); // empty seconds
      }

  var userHoursFuture = parseInt(userTimeStringFutureParts[0]);
  var userMinutesFuture = parseInt(userTimeStringFutureParts[1]);
  var userSecondsFuture = parseInt(userTimeStringFutureParts[2]);

  var dateCurrent = new Date(userYearCurrent, userMonthCurrent, userDayCurrent, userHoursCurrent, userMinutesCurrent, userSecondsCurrent);
  var dateFuture = new Date(userYearFuture, userMonthFuture, userDayFuture, userHoursFuture, userMinutesFuture, userSecondsFuture);


  var mathSeconds = Math.abs(dateFuture.getTime() - dateCurrent.getTime()) / 1000;
  var days = Math.floor(mathSeconds / 86400);
  mathSeconds -= days * 86400;
  var hours = Math.floor(mathSeconds / 3600) % 24;
  mathSeconds -= hours * 3600;
  var minutes = Math.floor(mathSeconds / 60) % 60;
  mathSeconds -= minutes * 60;
  var seconds = mathSeconds;

  document.getElementById("time1").innerHTML = "Time between your two dates: " + days + " Days: " + hours + " Hours: " + minutes + " Minutes: " + seconds + " Seconds";
}

谢谢!!!

法兹·桑迪

你可以像这样调用函数 calcTime('14/9/2019','14/9/2020')

function calcTime(currentdate,futuredate) {
            // var currentdate = '14/9/2019';
            // var futuredate = '14/9/2020';
            var userCurrentDatePart = currentdate.split('/');
            var userFutureDatePart = futuredate.split('/');
      //user input
      var userYearCurrent = userCurrentDatePart[2];
      var userMonthCurrent = userCurrentDatePart[1];
      var userDayCurrent = userCurrentDatePart[0];
      var userTimeStringCurrent = '0:0';
      //split time
      var userTimeStringCurrentParts = userTimeStringCurrent.split(':');
         if (userTimeStringCurrentParts.length === 2) {
             userTimeStringCurrentParts.push('00'); // empty seconds
         }
         var userHoursCurrent = parseInt(userTimeStringCurrentParts[0]);
         var userMinutesCurrent = parseInt(userTimeStringCurrentParts[1]);
         var userSecondsCurrent = parseInt(userTimeStringCurrentParts[2]);
    //user input
      var userYearFuture = userFutureDatePart[2];
      var userMonthFuture = userFutureDatePart[1];
      var userDayFuture = userFutureDatePart[0];
      var userTimeStringFuture = '23:59';
    //split time
      var userTimeStringFutureParts = userTimeStringFuture.split(':');
          if (userTimeStringFutureParts.length === 2) {
              userTimeStringFutureParts.push('00'); // empty seconds
          }

      var userHoursFuture = parseInt(userTimeStringFutureParts[0]);
      var userMinutesFuture = parseInt(userTimeStringFutureParts[1]);
      var userSecondsFuture = parseInt(userTimeStringFutureParts[2]);

      var dateCurrent = new Date(userYearCurrent, userMonthCurrent, userDayCurrent, userHoursCurrent, userMinutesCurrent, userSecondsCurrent);
      var dateFuture = new Date(userYearFuture, userMonthFuture, userDayFuture, userHoursFuture, userMinutesFuture, userSecondsFuture);


      var mathSeconds = Math.abs(dateFuture.getTime() - dateCurrent.getTime()) / 1000;
      var days = Math.floor(mathSeconds / 86400);
      mathSeconds -= days * 86400;
      var hours = Math.floor(mathSeconds / 3600) % 24;
      mathSeconds -= hours * 3600;
      var minutes = Math.floor(mathSeconds / 60) % 60;
      mathSeconds -= minutes * 60;
      var seconds = mathSeconds;

      document.getElementById("time1").innerHTML = "Time between your two dates: " + days + " Days: " + hours + " Hours: " + minutes + " Minutes: " + seconds + " Seconds";
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎样才能把数据库的行数在一个变量

我怎样才能让一个函数等到代码前一行完成

我怎样才能把坏规则变成好呢?

我怎样才能替代一个函数来使查询更快?

我怎样才能使一个类装饰器不中断isinstance函数?

我怎样才能把一个数组(在PHP)到表(JS)

我怎样才能从2个函数中创建一个?

我怎样才能提供一个数组作为函数或脚本的位置参数?

我怎样才能使这个单链表变成一个双链表?

我怎样才能使这个锚链接看起来像一个按钮

我怎样才能把这个阵列做成一个阵列?

我怎样才能把这个 PowerShell 脚本变成一行

我怎样才能创建一个同时接受 Num 和 Maybe Num 的函数?

我怎样才能从一个位数组变成一个字节?

我怎样才能写一个指向函数?

我怎样才能把“文本”变成“可下载的网址”?

我怎样才能输入这个合并函数?

我怎样才能把这个数组变成一个做同样事情的 ArrayList ?

我怎样才能聚合计数函数返回一个数字而不是一个数组

控制台说 Math.Floor 不是一个函数。我怎样才能解决这个问题

我怎样才能执行这个异步函数?

我怎样才能把这个 Python 代码变成一个函数?

我怎样才能使用这个内联函数并将其转换为一个方法,同时保留对此的访问权限?

我怎样才能让这个函数采用动态值?

我怎样才能把这个 foreach push 循环变成一个 reducer 函数?

python,我怎样才能把和如果放在一个引发错误的函数上?

我怎么能把这个变量赋值函数变成一个循环?

我怎样才能加速这个 Python 函数?

我怎样才能有动态函数来传递去抖动函数