我有一个计算功能,其中的一部分显示了实现目标所需的天数.

而不是仅显示我想要计算的天数和天数几个月或几天,几个月和几年,取决于数量.我有一个if语句的分裂,但似乎无法解决数学从例如132天到x天x个月…任何建议?

// GOAL
var timetoGoal = Math.round(goal / costPerDay);         

// if more than a year
if ( timetoGoal >= 365 ) {
    alert('days + months + years');

    // if more than a month but less than a year
} else if ( timetoGoal >= 30 && timetoGoal <=365 ) {
    alert('Days + months');
} else {
    alert('days');
    $('#savings-goal span').text(timetoGoal+' days');
}

解决方法

尝试这样的东西
function humanise (diff) {
  // The string we're working with to create the representation
  var str = '';
  // Map lengths of `diff` to different time periods
  var values = [[' year',365],[' month',30],[' day',1]];

  // Iterate over the values...
  for (var i=0;i<values.length;i++) {
    var amount = Math.floor(diff / values[i][1]);

    // ... and find the largest time value that fits into the diff
    if (amount >= 1) {
       // If we match,add to the string ('s' is for pluralization)
       str += amount + values[i][0] + (amount > 1 ? 's' : '') + ' ';

       // and subtract from the diff
       diff -= amount * values[i][1];
    }
  }

  return str;
}

预计这个论点是你想代表的日子差异.它假设一个30天,一年365.

你应该这样使用它

$('#savings-goal span').text(humanise(timetoGoal));

http://jsfiddle.net/0zgr5gfj/

javascript – 使用jQuery将数字(天)转换为日,月和年的更多相关文章

  1. ios – NSDate得到上周,上个月的问题

    我需要从当前日期开始获得上一个礼拜.所以我找到了可以重新计算当前日期添加间隔的解决方案这个参数:[[NSDatedate]dateByAddingTimeInterval:-604800.0](前一周)[[NSDatedate]dateByAddingTimeInterval:-2629743.83](取得上个月)正如我想,为了让周,这种方法运行良好,没有任何问题,因为每周有七天,间隔没有改变.但

  2. swift - DateUtil

  3. android – 带有Coundown计时器的ListView.滚动列表视图时,计时器闪烁

    创建倒计时器实例和取消它时必须小心.如果您不取消计时器,它将更新错误的视图.

  4. php – 显示一系列天数

    假设我有这些数字数组,对应于一周中的天数:如何有效地将这些数组转换为所需的字符串,如C风格的注释所示?任何帮助将不胜感激.以下代码应该工作:

  5. php – Laravel模型范围activated_at和deactivated_at检查是否有7天的差异

    使用模型范围:我知道这是无效的语法,但认为我可能很清楚我想要实现的目标.‘activated_at’和’deactivated_at’是同一个表中的两个字段我希望得到它们相隔7天以上的所有实例我不确定有没有一种正确的方法可以通过Eloquent实现这一点,尽管你可以使用MysqL函数DATEDIFF.尝试类似:这取决于您使用的数据库驱动程序(即MysqL,sqlite,sql服务器……

  6. PHP日期不包括周末

    我目前正在建立一个网站,仅在周一至周五提供.我想弄清楚如何添加交货日期.例如:“今天订购,你可以期待DD/MM/YY交货”上述日期需要排除任何周末所以基本上如果今天订购,交货日是4个工作日后,不包括周末.试试这个逻辑.您可以根据需要进行修改.

  7. php – 使用DateInterval和DateTime :: add添加月份时会出现什么问题?

    问题是每个月可能有不同的天数.问题是,当您想将日期增加1个月时,您正在做什么.根据PHP文档,如果您在1月31日并且您添加1个月,那么预期的行为是什么?二月只有29天.你想成为这个月的最后一天吗?

  8. windows – 调用powershell.exe非常慢

    我有一台带有PowershellV4.0的Windows2008R2服务器我有一个非常简单的脚本test.ps1,内容如下:我从PowerShell提示符中调用此脚本,如下所示:你可以看到我的价值非常高:要么它占用我的cpu50%.为什么太长了?

  9. php – 从CodeIgniter中的post数组中获取数据

    好的,所以我有一个表单,它在POST数组中发送数组.我试着这样读:这不起作用.PHP说“意外”[‘“.为什么这不起作用?我通过这样做来修复它:我解决了我的问题,我只是好奇为什么第一种方式不起作用.PHP不支持从函数调用中解除数组.它是在PHP的SVN主干版本中实现的,因此它可能会成为PHP的未来版本.现在你将不得不诉诸你现在正在做的事情.对于枚举数组,您还可以使用list:见:http://php

  10. ios – Swift如何使用enum来获取字符串值

    ’如何使用枚举值将其作为字符串分配给标签文本?解决方法使用枚举的rawValue:

随机推荐

  1. jquery-plugins – 是否可以使用猫头鹰旋转木马实现循环/无限轮播?

    我正在使用猫头鹰旋转木马,它的工作完美,除了它不支持循环/无限滚动.我没有搜索google和stackoverflow的想法,没有运气.有没有人在猫头鹰旋转木马上实现圆形/无限滚动?

  2. jQuery动态输入字段焦点

    我想使用以下jQuery向我的页面动态添加一个输入字段:在这样做之后,我希望输入字段具有闪烁的文本光标的焦点,所以我想在创建后立即输入.有人可以告诉我我该怎么办?

  3. jquery – 为什么$(window).height()这样错了?

    我试图获取当前浏览器的视口高度,使用但我得到的价值观太低了.当视口高度高达850px时,我从height()获取大约350或400像素的值.这是怎么回事?

  4. jquery – 如果在此div之外和其他draggables内部(使用无效和有效的还原选项),则可拖动恢复

    例如这样但是由于明显的原因,这不行.我可以说这个吗?

  5. 创建一个jQueryUI 1.8按钮菜单

    现在jQueryUI1.8已经出来了,我正在浏览更新,并且遇到了新的Buttonwidget,特别是SplitButtonwithadropdown的演示之一.这个演示似乎表明Buttonwidget可以在这里创建一个下拉菜单.作为讨论的问题,我想知道使用这个新的Button小部件来创建一个下拉菜单有什么方法.干杯.解决方法您必须在按钮下方列出一个列表,方式类似于此处为自动完成提供的演示:http

  6. 灰色divs使用JQuery

    我试图使用这个代码:为了淡出一大堆名为MySelectorDiv的div,唯一的是,它只会淡出第一个而不是所有的div,为什么呢?

  7. 使用jQuery动态插入到列表中

    我有两个订单列表在彼此旁边.当我从一个列表中选出一个节点时,我想按照字母顺序插入到另一个列表中.抓住的是我想要把一个元素放在另一个列表中,而不刷新整个列表.奇怪的是,当我插入到右边的列表中,它工作正常,但是当我插入到左边的列表中时,顺序永远不会出来.我也尝试将所有内容读入数组,并将其排序在一起,以防止children()方法没有按照显示顺序返回任何东西,但是我仍然得到相同的结果.这是我的jQuer

  8. 没有回应MediaWiki API使用jQuery

    我试图从维基百科获取一些内容作为JSON:但我没有回应.如果我粘贴到浏览器的地址栏,就像我得到预期的内容.怎么了?解决方法您需要通过添加&callback=?来触发具有$.getJSON()的JSONP行为?在querystring上,像这样:Youcantestithere.没有使用JSONP,你正在击中same-originpolicy,阻止XmlHttpRequest获取任何数据.

  9. jQuery Ajax请求每30秒

    我有这段代码,但是有些人在我的网站上的值可能会改变.我需要每30秒钟更新一次#financediv.这可以做吗解决方法您可以将代码放在单独的函数中,如下所示:然后每30秒建立一个定时器调用该函数:祝你好运!总结以上是DEVMAX为你收集整理的jQueryAjax请求每30秒全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  10. jquery – keypress事件在IE和Chrome中不工作,但在FF工作

    任何想法为什么会这样发生?我通常认为Chrome会更加宽容代码?这是我的按键键.我错过了什么吗?右图();和leftimage();是应该工作的功能,因为我在其他地方使用这些功能谢谢您的帮助!

返回
顶部