jQuery&时刻.js从日期开始获得一半(h1 h2)

时间:2016-08-25 06:28:21

标签: javascript jquery html momentjs

我在我正在处理的函数中使用moment.js来转换日期类型,例如quartermonthhalf

考虑到约会,我需要确定它是在H1还是H2(上半年或下半年)。

<input type="button" class="test" data-date="12/30/2016" data-type="day" value="Day">
<input type="button" class="test" data-date="04/30/2016" data-type="quarter" value="Quarter">
<input type="button" class="test" data-date="03/31/2016" data-type="half" value="Half">
<input type="button" class="test" data-date="07/25/2016" data-type="month" value="Month">

-

 // On click of a button
$('.test').click(function(){
    var result = convertDate($(this).data('date'), $(this).data('type'));
  $('.result').empty().append(result)
})

// Given a date and type, return the conversion
function convertDate(date, type){

        var output = '';

    switch(type){
        case 'day':
        output = date;
      break;
      case 'quarter':
        output = 'Q' + moment(date).quarter() + ' ' + moment(date).format('YYYY');
      break;
      case 'half':
        // Not sure how to get this
      break;
      case 'month':
        output = moment(date).format('MMMM YYYY');
      break;
    }

    return output;
}

这是一个小提琴:https://jsfiddle.net/rmxydLuv/2/

如果您有关于改进功能的任何提示,我也会感激。

1 个答案:

答案 0 :(得分:3)

您可以根据季度计算H1H2

case 'half':
  output = moment(date).quarter() <= 2 ? "H1" : "H2" + ' ' + moment(date).format('YYYY');
  break;

DEMO