【问题标题】:How to get the integer value of month from moment.js如何从 moment.js 获取月份的整数值
【发布时间】:2017-02-03 18:27:59
【问题描述】:

我正在使用 Moment.js 将日期添加到我正在制作的选项列表中,以便我可以使用这些日期来显示可用的约会,例如,有人可以从选项列表中选择 2 月 3 日星期五,然后选择列表的可用时间将显示为 2 月 3 日。

我遇到的问题是我正在使用一个在线调度 api,它采用从 1 开始的月份值,例如,1 月是 01,2 月是 02 等,但 moment.js 月份从 0 开始并且只会去最多 11,例如,一月是 0,二月是 1,等等。我需要能够将 moment.js 中的值转换为整数,以便我可以将每个值加 1 来解释差异。

真正的问题是我尝试使用 parseInt(Month) 来获取 int 值以将其加一,但这不起作用。这是我试图做到这一点的代码:

var d = moment(),  
Month = d.month();

var GetMonthint = parseInt(Month),
    GetMonth = GetMonthint++;

        GetAppointmentDates(GetMonth, Year);

GetMonth 仍然只返回 1 的二月,有什么特殊的方法可以从月份中获取 int 值吗?

【问题讨论】:

  • 为什么要使用parseInt 和后缀自增运算符?你知道后缀和前缀递增的区别吗?

标签: javascript momentjs


【解决方案1】:

线

GetMonth = GetMonthint++;

是问题所在。 ++ 运算符返回原始值而不是增量值。你应该这样做:

GetMonth = GetMonthint + 1;

【讨论】:

  • 啊,我明白了,我想我对 PHP 格式有点太习惯了。谢谢。
  • 其实你应该做GetMonth = GetMonthInt + 1;它比使用后缀或前缀运算符更好地显示意图。
  • 我现在修好了。
  • @EricBrown PHP 格式?这和什么有什么关系? PHP 中的同一行将执行完全相同的操作。
  • @EricBrown 所以......你习惯了错误的方式吗?基本上,在一个循环中,使用 ++ 是有意义的,因为您可能会为每个循环增加一个计数器。因此,除了作为循环终止符之外,您没有使用增量值。在这种情况下,您有两个变量并希望将一个设置为等于另一个加一。有什么比一个变量 = 其他 + 1 更好的方式来证明这一点?
猜你喜欢
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
相关资源
最近更新 更多