获取时间值并返回一个将通过 moment().isValid() 检查的值
Taking time value and returning a value that will pass a moment().isValid() check
我正在 运行 对传递到我的本机应用程序上的 timePicker 的值进行一些检查,我想获取像 14:29
这样的时间值,它作为string
,并将其转换为将通过 moment(val).isValid()
检查的值。
例如,我怎样才能只取今天的日期,但将时间设置为 14:29
的这个值?
我试过了,但它出错了:
let val = '14:29';
this._value = moment(new Date()).startOf(val);
const input = '14:29';
const [hour, minute] = input.split(':');
const myMoment = moment()
.set({ hour, minute })
.startOf('minute');
console.log(
{ myMoment, isValid: myMoment.isValid() }
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
注意:这将尊重浏览器时区,这意味着不同的用户将获得不同的时间,具体取决于他们系统当前设置的时区。
要设置特定时区,您可能需要使用 .tz()
。文档:moment timezone.
我正在 运行 对传递到我的本机应用程序上的 timePicker 的值进行一些检查,我想获取像 14:29
这样的时间值,它作为string
,并将其转换为将通过 moment(val).isValid()
检查的值。
例如,我怎样才能只取今天的日期,但将时间设置为 14:29
的这个值?
我试过了,但它出错了:
let val = '14:29';
this._value = moment(new Date()).startOf(val);
const input = '14:29';
const [hour, minute] = input.split(':');
const myMoment = moment()
.set({ hour, minute })
.startOf('minute');
console.log(
{ myMoment, isValid: myMoment.isValid() }
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
注意:这将尊重浏览器时区,这意味着不同的用户将获得不同的时间,具体取决于他们系统当前设置的时区。
要设置特定时区,您可能需要使用 .tz()
。文档:moment timezone.