Javascript 半年日期格式

Javascript 半年日期格式,javascript,momentjs,date-formatting,Javascript,Momentjs,Date Formatting,我想获取ex的半年日期格式: 如果我有日期2020-01-01,则日期格式必须为H1,对于2020-08-01,则日期格式必须为H2 我已经通过以下方式实现了ex:2020-01-01->Q1和2020-04-01->Q2的季度日期格式 const baseDateM = moment(`${year}-${month}-01`, 'YYYY-MMM-DD'); var periodAsDatesM = []; // using var var dateFormat; dateFormat =

我想获取ex的半年日期格式: 如果我有日期2020-01-01,则日期格式必须为H1,对于2020-08-01,则日期格式必须为H2 我已经通过以下方式实现了ex:2020-01-01->Q1和2020-04-01->Q2的季度日期格式

const baseDateM = moment(`${year}-${month}-01`, 'YYYY-MMM-DD');
var periodAsDatesM = []; // using var
var dateFormat;
dateFormat = '[Q]Q';
periodAsDatesM = [
          baseDateM,
          baseDateM.clone().subtract(1, 'quarters'),
          baseDateM.clone().subtract(2, 'quarters'),
          baseDateM.clone().subtract(3, 'quarters'),
          baseDateM.clone().add(1, 'quarters'),
          baseDateM.clone().add(2, 'quarters'),
 ];
let yearsArray = _.uniq(periodAsDatesM.map(dtM => dtM.format('YYYY')));
const myPeriodArr = periodAsDatesM.map(dtM => dtM.format(dateFormat));
此处myPeriodArr包含基于日期的[Q1,Q2], 但是现在当我半年一次跟踪这个 myPeriodArr包含[H0,H0],与日期无关。 我每半年试一次下面的方法

dateFormat = '[H]H';
        periodAsDatesM = [
          baseDateM,
          baseDateM.clone().subtract(6, 'months'),
          baseDateM.clone().subtract(12, 'months'),
          baseDateM.clone().subtract(18, 'months'),
          baseDateM.clone().add(6, 'months'),
          baseDateM.clone().add(12, 'months'),
        ];
let yearsArray = _.uniq(periodAsDatesM.map(dtM => dtM.format('YYYY')));
const myPeriodArr = periodAsDatesM.map(dtM => dtM.format(dateFormat));
我想得到H1和H2中日期的格式 前任: 如果
periodAsDatesM
包含:
[2018-12-012019-06-012019-12-012020-06-01]

然后
myPeriodArr
应该是:
[H2,H1,H2,H1]
根据您的问题标签,看起来您正在使用momentjs

改编自:

const halfFormatted=`H${moment(new Date()).get('quarter')<3?1:2}`
console.log(半格式化)