【问题标题】:setDate not setting date properly inside eval in batch scriptsetDate 没有在批处理脚本的 eval 中正确设置日期
【发布时间】:2020-04-13 10:20:28
【问题描述】:

--eval "var date = new Date(); date.setDate(date.getDate()-10)"' 暂停

new Date() 给我当前日期。我正在尝试返回 10 天的日期,但 setDate() 没有正确设置日期。我正在通过批处理脚本进行操作。 我在评估 date.setDate(date.getDate()-10) 后得到了这个 1576031482772。请帮我找到解决方案。

【问题讨论】:

  • 将批处理脚本添加到您的问题中。
  • "C:\Program Files\Git\bin\bash.exe" -c 'mongo "mongodb://username:password@host/mydb?replicaSet=rs01&authSource=admin" --eval " var date = new Date(); date.setDate(date.getDate()-10)"'
  • 能否详细说明您的问题以及您尝试了哪些解决方案?

标签: mongodb date datetime batch-file


【解决方案1】:

这是预期的行为。 setDate的签名如下。 ref

参数

它接受一个参数,它应该是数字作为天的值。

返回值

它返回 1970 年 1 月 1 日 00:00:00 UTC 和给定日期之间的毫秒数

解决方案

您实际上是在设置日期的日期值。因此,如果您想检索该值,只需使用date.getDate()。这将是新的日期。

更多细节,它是如何工作的,你可以参考MDN

【讨论】:

    猜你喜欢
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 2015-04-12
    • 2018-06-19
    • 2023-03-06
    相关资源
    最近更新 更多