【问题标题】:Trying to solve an Exercism question, Gigasecond, Javacsript试图解决一个锻炼问题,千兆秒,Javascript
【发布时间】:2020-04-02 19:31:24
【问题描述】:

我正在尝试解决一个问题: 给定一个时刻,确定一个千兆秒后的时刻。 一千兆秒是 10^9 (1,000,000,000) 秒。不要改变函数的参数。

   const gigasecond = () => {
     \\write your code here 
   };

我写了一个我认为应该解决它的代码,但是,我的测试失败了。我的代码是:

const gigasecond = () => {
let date = new Date();
const gs = Math.pow(10, 12);
let futureTime = date.getTime() + gs;
return new Date(futureTime)

};

我真的被困住了,不知道我错过了什么。

【问题讨论】:

  • 您的函数总是返回当前时间加上“千兆秒”。问题的描述表明该函数应该采用某种参数,可以是 Date 实例,也可以是时间戳(数字)。
  • 正确,问题是如何在没有参数或改变参数的情况下访问预期的参数??
  • “不要改变函数的参数”意味着函数不应该改变值,并不意味着你不能有参数。
  • 好的,我确实提出了一个论点,它通过了第一次测试。我会提交它,看看它是否被接受。感谢@Pointy 的回复。
  • 考虑let plusGs = d => new Date(+d + 1e12)。 ;-)

标签: javascript date ecmascript-6


【解决方案1】:

如果我添加一个参数,我的代码将是:

const gigasecond = (time) => {
  let date = time.getTime();
  const gs = Math.pow(10, 12);
  let futureTime = date + gs;

  return new Date(futureTime)
};

它确实通过了第一次测试。我会交叉手指看看是否被接受。

【讨论】:

    【解决方案2】:

    我的解决方法如下:

    public static class Gigasecond {
    public static DateTime Add(DateTime moment)
       {
           return moment.AddSeconds(Math.Pow(10,9));
       }
    }
    

    【讨论】:

      【解决方案3】:

      我的解决方案如下:

      import datetime
      def add(moment):
          return moment+ datetime.timedelta(seconds=10**9)
      

      【讨论】:

        猜你喜欢
        • 2011-11-08
        • 1970-01-01
        • 1970-01-01
        • 2015-11-09
        • 2020-09-17
        • 1970-01-01
        • 1970-01-01
        • 2021-12-14
        • 1970-01-01
        相关资源
        最近更新 更多