首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Moment.js来确定基于Unix时间戳的财务季度?

如何使用Moment.js来确定基于Unix时间戳的财务季度?
EN

Stack Overflow用户
提问于 2016-08-31 04:22:29
回答 1查看 1K关注 0票数 1

我的目标是比较两个代表金融季度的数据集。API的古怪之处在于每个get请求需要两个日期:startDate (包含)和endDate (独占)。因此,例如,要获得2016年7月的数据,你需要:

startDate = 20160701,endDate = 20160801。

给定单个unixStartDate (这是Unix时间戳),我希望找到(1)当前季度的startDateendDate,以及(2)上一季度的startDateendDate

到目前为止,我可以使用moment.js来确定当前季度,没有问题:

const currentQuarter = moment.unix(unixStartDate).utc().quarter();

我可能会根据这些信息做一个讨厌的切换,但我希望有一个更优雅的解决方案。

Moment.js也包含moment().startOf('quarter'),但我一直无法确定它的正确用法。Console.log生成一个对象:

代码语言:javascript
运行
复制
Moment {_isAMomentObject: true, 
_isUTC: false, 
_pf: Object, 
_locale: Locale, 
_d: Fri Jul 01 2016 00:00:00 GMT-1000 (HST)…}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 07:58:55

下面是一个详细的版本:

代码语言:javascript
运行
复制
const moment = require('moment');

let unixStartDate  = ...;

let current        = moment(unixStartDate);
let currentStartOf = moment(current).startOf('quarter');
let currentEndOf   = moment(current).  endOf('quarter').add(1, 'day');

let previous        = moment(current).subtract(1, 'quarter');
let previousStartOf = moment(previous).startOf('quarter');
let previousEndOf   = moment(previous).  endOf('quarter').add(1, 'day');

console.log(
  'current ', 
  currentStartOf.format('YYYYMMDD'),
  currentEndOf  .format('YYYYMMDD')
)

console.log(
  'previous', 
  previousStartOf.format('YYYYMMDD'),
  previousEndOf  .format('YYYYMMDD')
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39240692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档