如何在moment js中结合两个时间和日期值
How to combine the two time and day value in moment js
我正在使用 moment js,我正在努力在一个 dateTime 中组合 2 个输入
,
我有 2 个输入值 -
从 1 号开始,我得到了一天,例如星期一、星期二、星期三..星期六等等..
从 2 日开始,我得到日期时间 2021 年 5 月 26 日星期三 09:20:02 GMT+0530(印度标准时间)
dayDate Wednesday
timeValue Wed May 26 2021 09:20:02 GMT+0530 (India Standard Time)
我想合并这两个值和一个日期时间,然后需要以毫秒为单位进行转换。
例如,今天是 26,用户从一个输入中选择星期六,从另一个输入中选择时间,
我必须从给定的第二个输入中获取下一个星期六的日期和时间。
我怎样才能做到这一点?
使用startOf('week')
and day('Saturday')
说明
timeValue
- 2021 年 5 月 26 日,星期三 11:35:27 GMT+0530(印度标准时间)
startOf('week')
- 2021 年 5 月 23 日星期日 00:00:00 GMT+0530(印度标准时间)
day('Saturday')
- 2021 年 5 月 29 日星期六 00:00:00 GMT+0530(印度标准时间)
const dayDate = "Saturday"
const timeValue = new Date()
console.log(moment(timeValue).startOf('week').day(dayDate).toDate())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js" integrity="sha256-ZsWP0vT+akWmvEMkNYgZrPHKU9Ke8nYBPC3dqONp1mY=" crossorigin="anonymous"></script>
首先,在使用 .day()
设置星期后,使用从时间选择器中获取的日期创建时刻。
要以毫秒为单位转换日期,您可以使用 .format('x')
(x 是 Unix 毫秒时间戳)
function calculateDate () {
const dayDate = "Saturday" // replace with your get element
const timeValue = document.getElementById("timeValue").value;
console.log('Complete date: ', moment(timeValue, 'HH:mm').day(dayDate).toDate());
console.log('In Milliseconds', moment(timeValue, 'HH:mm').day(dayDate).format('x'));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<input type="time" onchange="calculateDate()" id="timeValue">
如果你从时间选择器中得到一个完整的日期对象,就不需要在时刻构造函数中指定格式,代码将变成moment(timeValue).day(dayDate).format('x')
。
我正在使用 moment js,我正在努力在一个 dateTime 中组合 2 个输入 ,
我有 2 个输入值 -
从 1 号开始,我得到了一天,例如星期一、星期二、星期三..星期六等等..
从 2 日开始,我得到日期时间 2021 年 5 月 26 日星期三 09:20:02 GMT+0530(印度标准时间)
dayDate Wednesday
timeValue Wed May 26 2021 09:20:02 GMT+0530 (India Standard Time)
我想合并这两个值和一个日期时间,然后需要以毫秒为单位进行转换。
例如,今天是 26,用户从一个输入中选择星期六,从另一个输入中选择时间, 我必须从给定的第二个输入中获取下一个星期六的日期和时间。
我怎样才能做到这一点?
使用startOf('week')
and day('Saturday')
说明
timeValue
- 2021 年 5 月 26 日,星期三 11:35:27 GMT+0530(印度标准时间)
startOf('week')
- 2021 年 5 月 23 日星期日 00:00:00 GMT+0530(印度标准时间)
day('Saturday')
- 2021 年 5 月 29 日星期六 00:00:00 GMT+0530(印度标准时间)
const dayDate = "Saturday"
const timeValue = new Date()
console.log(moment(timeValue).startOf('week').day(dayDate).toDate())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js" integrity="sha256-ZsWP0vT+akWmvEMkNYgZrPHKU9Ke8nYBPC3dqONp1mY=" crossorigin="anonymous"></script>
首先,在使用 .day()
设置星期后,使用从时间选择器中获取的日期创建时刻。
要以毫秒为单位转换日期,您可以使用 .format('x')
(x 是 Unix 毫秒时间戳)
function calculateDate () {
const dayDate = "Saturday" // replace with your get element
const timeValue = document.getElementById("timeValue").value;
console.log('Complete date: ', moment(timeValue, 'HH:mm').day(dayDate).toDate());
console.log('In Milliseconds', moment(timeValue, 'HH:mm').day(dayDate).format('x'));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<input type="time" onchange="calculateDate()" id="timeValue">
如果你从时间选择器中得到一个完整的日期对象,就不需要在时刻构造函数中指定格式,代码将变成moment(timeValue).day(dayDate).format('x')
。