【问题标题】:Add hours to timestamp in moment.js在 moment.js 中为时间戳添加小时数
【发布时间】:2019-01-11 18:52:44
【问题描述】:

我有两个输入,第一个输入用于获取日期,第二个输入用于获取一天中的时间。

例如,

用户选择日期:2019 年 1 月 20 日和时间:下午 12:30。

当我将日期输入转换为 Unix 时间戳时,我得到了 2019 年 1 月 20 日 00:00 小时的时间戳。

startingDate = moment(date.startsOn).unix();

所以我想将我从用户那里得到的时间添加到日期时间戳中。

当我尝试将小时数转换为 Unix 时间戳时,我得到了当天的时间戳以及用户输入的小时数,即我得到了 2019 年 1 月 11 日下午 12:00 的时间戳。

startingTime = moment(date.startingTime).unix();

有什么建议可以实现吗?

【问题讨论】:

  • 请贴一些代码...
  • 可能here也有类似问题,直接用momentjs setters(或者Date setHours(),setMinutes()
  • 你试过moment(date.startsOn).add(6, 'hours').unix()

标签: momentjs angular7


【解决方案1】:

我设法以这种方式做到了这一点: 因为我的开始日期和时间是 unix 格式的

startingDate = moment(date.startsOn).unix();
startingTime = moment(date.startingTime).unix();

我必须将它们转换成矩格式

const date = moment.unix(this.startingDate).format('YYYY-MM-DD h:mm a'); 
const hours = moment.unix(this.startingTime).format('HH');

然后我在日期常量中添加了小时

var finalTime = date.add(hours, 'hours');

然后我将这个 finalTime 发布到我的 API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-23
    • 2016-10-02
    • 1970-01-01
    • 2011-01-31
    • 2018-04-29
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    相关资源
    最近更新 更多