需要有关使用momentjs转换时间的帮助

时间:2016-10-31 16:03:19

标签: javascript momentjs

我正在使用输入type="time",我希望将时间转换为0的时间戳。这意味着我希望我的日期看起来像Thu Jan 01 1970 02:35:00 GMT+0000

如果我写let value = moment('02:35','HH:mm').utc(),我会Mon Oct 31 2016 01:35:00 GMT+0000。有没有办法让时间戳从0开始,而不指定year monthday

我再次指定我的案例正在使用输入type="time"并且我只获得此格式的值HH:mm

这是一个可以玩的gist

2 个答案:

答案 0 :(得分:3)

我可能会误解,但是要使用Unix时间0作为你的时间基础,你可以获得Unix时间,然后编辑你想要改变的时间元素:

let value = moment(0).set({'hour': 2, 'minute': 35}).utc();

moment(0)将获取开始日期(Unix时间开始),然后.set({'hour': 2, 'minute': 35})将允许您编辑时间。

这将返回:Thu Jan 01 1970 02:35:00 GMT+0000

答案 1 :(得分:2)

您可以解析相对于1970年1月1日的日期。

var time = document.getElementById('time-input').value;
var date = moment.utc(time + ' 1/1/1970','HH:mm D/M/YYYY').format('ddd MMM DD YYYY HH:mm:ss zZ');

console.log(date); // Thu Jan 01 1970 02:35:00 UTC+00:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment.min.js"></script>
<input id="time-input" type="time" value="02:35" />