使用基本jQuery在Quarters中拆分年份

时间:2010-03-31 19:04:21

标签: javascript jquery date

我有一个有趣的问题:

我想把这一年分成4个季度。这是什么想法,

四分之一可能不同:

HTML代码:

<div class="quarterBody">
    <span>04-29-2010</span>
    <span>06-29-2010</span>
    <span>08-29-2010</span>
</div>

jQuery(javascript)完全错了,我希望w:

       $(document).ready(function(){

            var quarter1 = to make interval (01-01-2010  to 03-31-2010);
            var quarter2 = to make interval (03-01-2010  to 06-31-2010);
            var quarter3 = to make interval (06-01-2010  to 09-31-2010);
            var quarter4 = to make interval (09-01-2010  to 12-31-2010);
                              ...

            $(".quarterBody span").each(function(){
                var date = Date.parse($(this).text());

                //to apply some magic code 

                $(this).addClass(quarterNumber);

            });
        });

输出:

<div class="quarterBody">
        <span class="Quarter1">02-29-2010</span>
        <span class="Quarter2">04-29-2010</span>
        <span class="Quarter3">08-29-2010</span>
             ...
    </div>

我现在知道这是一种愚蠢的方式,但我希望有人可以帮助我,或者建议如何以更好的方式做到这一点!!

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以简单地获取月份并从中计算季度,而不是指定间隔:

$(function(){
  $('.quarterBody span').each(function() {
    var month = parseInt($(this).text().substr(0,2), 10);
    var quarter = Math.floor((month - 1) / 3) + 1;
    $(this).attr('class', 'Quarter' + quarter);
  });
});

注意:

  • 我更正了“quarterBody”和“Quarter1”到“Quarter4”的拼写。
  • 这假定您显示的日期格式,前两位数字始终为月份。
  • 解析包含月份的字符串时,必须指定基数(10),否则月份“01”到“09”将被解析为八进制(基数为8),“08”和“09”不是有效的八进制数。

答案 1 :(得分:2)

Date.js是一个很好的库,用于处理JavaScript中与日期相关的问题。看看吧。在构建日历控件时,它对我来说很方便。