【问题标题】:How to add two UNIX timestamps together, then calculate percentage of each timestamp [closed]如何将两个 UNIX 时间戳相加,然后计算每个时间戳的百分比 [关闭]
【发布时间】:2013-06-19 10:42:02
【问题描述】:

我有两个 UNIX 时间戳,我想将它们加在一起以创建一个“总”时间,但我还想计算每个时间戳在总和中的价值百分比。例如:

var x = 123456;
var y = 1234;
var total = 124690;

x is % of total, y is % of total.

如何在 javascript 中实现这一点?在以某种方式计算百分比之前,是否需要将 UNIX 时间戳转换为标准格式?

【问题讨论】:

  • “添加”日期没有任何意义。我怀疑您误用了“Unix 时间戳”一词。你能改写你的问题吗?
  • @pXL - 不需要括号,顺序无关紧要(尽管优先级意味着评估从左到右进行):x / total * 100
  • @Álvaro 当然,我有 2 个 UNIX 时间戳,当它们加在一起理论上会产生一个时间长度或一个时间范围。每个时间戳代表一个值,所以我想计算总时间的 80%,颜色是红色,20% 的时间颜色是绿色。希望这更有意义?
  • 所以你有,例如,20th August 201031st December 2013,你想把它们加在一起来产生......究竟是什么? (请注意,您可以编辑问题以添加说明或更多信息。)

标签: javascript jquery unix-timestamp


【解决方案1】:

既然你说“我想加在一起以创建一个‘总’时间”,我假设你的意思只是“时间长度”,可能以秒为单位,即你想知道多少百分比用于两个事件中的每一个。这些不是Unix timestamps(它是日期的整数表示,即自 Unix 纪元开始以来的时间长度)。

这样做:

var x = 123456;
var y = 1234;
var total = x + y;

alert("x is " + Math.round(x / total * 100) + "% of total, y is " + Math.round(y / total * 100) + "% of total");

如果您想要更多的百分比数字,例如两位,请使用

alert("x is " + (Math.round(x / total * 10000) / 100) + "% of total, y is " + (Math.round(y / total * 10000) / 100) + "% of total");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 2012-08-31
    • 2014-05-04
    • 1970-01-01
    相关资源
    最近更新 更多