【问题标题】:Javascript Date getTime() code snippet with mysterious additional characters带有神秘附加字符的 Javascript Date getTime() 代码片段
【发布时间】:2013-08-23 22:35:53
【问题描述】:
<script language="JavaScript">
var t = new Date();
t.getTime() + -864e5;
</script>

第二行末尾的“+”之后的那个时髦的代码是做什么的?

这可能很难理解,因为我怀疑这是他们试图保护自己免受刮擦的一种方式。

【问题讨论】:

标签: javascript date datetime exponentiation


【解决方案1】:

这是一个有效的 JavaScript 数字,表示一天 24 小时中的毫秒数。

1000*60*60*24 or 86400000 or 864e5

【讨论】:

  • 不知道为什么有人会想要使用这种方法——它确实让代码更难阅读......甚至你可能需要在Stack Overflow 上发布问题才能理解它: P
  • @Mattis:它否定了这个数字。喜欢5-5developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 。当然,写a - b 而不是a + (-b) 会更容易,但是好吧......
  • @Mattis:不,只是为了让脚本更短。抓取并不复杂,每个浮点数解析器都支持这种格式。
【解决方案2】:

-864e5 表示“减去 1 天”。所以 JavaScript 真的得到了 24 小时前的日期/时间。

【讨论】:

    【解决方案3】:

    864e5 是一个有效的 JavaScript 数字,表示一天 24 小时内的 毫秒(毫秒是 1/1000' 秒)的数量。

    1000*60*60*24 = 86400000 或使用指数表示法 864e5

    【讨论】:

      【解决方案4】:

      看起来 + -864e5 将时间偏移到过去 1 天。

      它确实不是很可读,或者对于第一次看它的人来说很有意义,但在裸 js 中真的没有任何其他方式(在这一点上)。

      【讨论】:

      • getTime() 返回毫秒数。
      • 无赖。我希望 cocco 的 anwser 中的上述数学运算能在几天内产生。帖子已编辑。
      • 当然还有其他方法。如果你担心人们不理解你是否使用科学,你可以用常规符号写出这个数字。或者,如果您担心人们不知道 86400000 的重要性,您可以发表评论来解释这一点。为什么要使用+ -864e5 而不仅仅是- 864e5
      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 2023-03-07
      • 2012-11-10
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      相关资源
      最近更新 更多