【问题标题】:MomentJS remove Time from Date Object (javascript)MomentJS 从日期对象中删除时间(javascript)
【发布时间】:2015-07-09 14:53:31
【问题描述】:

我正在使用 Moment.js 创建一个新的日期对象并使用以下代码推送到一个数组。

array.push(moment(object[column]).toDate());

在创建日期对象之前,'object[column]' 的值为 2015-01-02。

此数组用于使用他们的 API 生成 Google 图表

日期变成如下。

Fri Jan 02 2015 00:00:00 GMT-0500 (Eastern Standard Time)

我想解析它,在 X 轴上使用它。我尝试了以下操作,但控制台开始大喊大叫。

array.push(moment(object[column]).toDate().format('MM/DD/YYYY'));
Uncaught TypeError: moment(...).toDate(...).format is not a function

我已经尝试过了,日期差了几个月!

array.push(moment(object[column], 'MM/DD/YYYY').toDate());
Messed up data -"Wed Aug 15 1 00:00:00 GMT-0400 (Eastern Daylight Time),9,8,7,6,5,4,3,2,1

我正在寻找的结果是 1/1/15 - 我错过了什么吗?谢谢。

【问题讨论】:

  • 你为什么打电话给toDate()
  • @MattJohnson 感谢您的回复,删除它会导致图表变为空白。我相信这是因为 API 需要一个日期对象。

标签: javascript date datetime momentjs


【解决方案1】:

考虑:

moment("2015-01-02").format("MM/DD/YYYY")  === "01/02/2015"

把它和你提到的其他东西放在一起,你可能正在寻找

array.push(moment(object[column]).format("MM/DD/YYYY"));

这会将格式化的字符串推送到您的数组中。相反,如果您想要一个日期对象,那么您只需推送日期对象:

array.push(moment(object[column]).toDate());

如果只是图表中没有按照您喜欢的方式显示,请使用DateFormat 格式化程序,如the Google Charts documentation 中所述。

【讨论】:

  • 谢谢,我最终选择了 API 中包含的 hAxis 格式,并使用 convertOptions 进行材质转换。感谢您的意见,所以我会选择您的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
  • 2016-04-09
  • 2015-01-08
相关资源
最近更新 更多