【问题标题】:Display duration in formnat 1 h, 5 min or 1 h 5 min以 1 小时、5 分钟或 1 小时 5 分钟格式显示持续时间
【发布时间】:2020-09-08 07:45:10
【问题描述】:

我想显示任务的持续时间(1 h5 min1 h 5 min)。 我有以下代码:

h = h != 0 ? h : '';
min = min != 0 ? min : '';
total = hours + ' h ' + minutes + ' min';

但是如果持续时间是5 min,这显然会显示类似h 5 min 的东西。我该如何解决这个问题?

【问题讨论】:

  • if ( ... ) { ... } else { ... }
  • @Andreas 没有人为此?
  • 如果您不熟悉if ... else ...,那么您可能想忽略任何“单线”解决方案...
  • @Andreas 我想我可以用一个衬里来缩短我的代码。
  • 您的问题涉及一个完全不同的问题,可以通过简单的if ... else ...来解决

标签: javascript jquery datetime time


【解决方案1】:

只需在三元条件中添加具有小时/分钟值的单位。

h = h ? h + ' h' : '';
min = min ? min + ' min' : '';
total = h + min;

【讨论】:

    【解决方案2】:

    如果你能提供帮助,你真的应该混淆/重用变量类型。当然,你可以,但它稍后会咬你。

    h = h != 0 ? h : '';
    

    h!=0 意味着 h 是此行之前的数字和字符串 之后的数字 - 然后您不能再次使用 h 作为原始数字。

    在这种情况下,或几行的情况下,这可能无关紧要 - 但这是一个滑坡。

    由于您已经在使用条件运算符,因此您可以将其直接包含在输出中,而无需重新分配变量。

    total = (h == 0 ? "" : h + " h") + (m == 0 ? "" : " " + m + " min");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      相关资源
      最近更新 更多