javascript - 半年日期格式

标签 javascript momentjs date-formatting

我想获取前半年的日期格式: 如果我的日期为 2020-01-01,则日期格式必须为 H1,对于 2020-08-01,日期格式必须为 H2 我已经通过以下方式实现了前: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}`

关于javascript - 半年日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61153029/

相关文章:

javascript - 我有一个适用于我的侧边导航的动画,但需要点击两次才能触发动画

javascript - MomentJS 将格式从 YYYYMMDD 更改为

java - 在 Java 中验证包含 & 或 $ 的日期

r - 将 data.frame 中的第一列转换为行索引

java - 如何在 Java 中使用不受支持的语言环境

javascript - 在一个js函数中使用多个具有多个类的视频

javascript - state.getStore() 或 mapStateToProps - React.js/Redux

javascript - 如何在 react 路由器的登录页面中隐藏导航栏

javascript - 在日期范围数组中查找 'holes'(间隙)

javascript - 时刻: Getting error when formatting date using user language