半年日期格式
Half year date format
我想获取 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-01,2019-06-01,2019-12-01,2020-06-01]
那么 myPeriodArr
应该是:[H2,H1,H2,H1]
根据您问题的标签,您似乎在使用 momentjs。 There's an issue about this in the momentjs GitHub project.
改编自a comment there:
const halfFormatted = `H${moment(new Date()).get('quarter') < 3 ? 1 : 2}`
console.log(halfFormatted)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
const halfFormat = `H${date.get('quarter') < 3) ? 1 : 2}`
我想获取 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-01,2019-06-01,2019-12-01,2020-06-01]
那么 myPeriodArr
应该是:[H2,H1,H2,H1]
根据您问题的标签,您似乎在使用 momentjs。 There's an issue about this in the momentjs GitHub project.
改编自a comment there:
const halfFormatted = `H${moment(new Date()).get('quarter') < 3 ? 1 : 2}`
console.log(halfFormatted)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
const halfFormat = `H${date.get('quarter') < 3) ? 1 : 2}`