我有一個字串“10:30 AM”,如何將其轉換為字串以便我可以使用該.isBetween()函式?
每當我嘗試執行new Date(time)or 時moment(new Date(time)),我都會收到“無效日期”。此外,它說它是一個無效的日期,我是否必須有一個日期和時間才能使其有效?我以為.isBetween可能只是需要一些時間。
uj5u.com熱心網友回復:
ECMAScript 日期只是自 1970 年 1 月 1 日 UTC 以來以毫秒為單位的偏移量,因此本質上是日期和時間 (UTC)。
如果您使用的是 moment.js,也可以使用它來決議字串。在這種情況下,您必須使用與格式化相同的標記(例如 h:mm A)來提供字串的格式。始終傳遞格式是一個好主意,否則它可能會退回到內置決議器,這違背了使用庫進行決議的目的。
當只給出時間時,moment.js 使用當前日期作為年、月和日:
let s = '10:30 AM';
// <current date as YYYY-MM-DD> 10:30
console.log(moment(s, 'h:mm A').format('YYYY-MM-DD H:mm'))
let time1 = '6:23 AM';
let time2 = '9:18 PM';
let time3 = '10:35 PM';
let format = 'h:mm A';
console.log(
moment(time2, format).isBetween(moment(time1, format), moment(time3, format))
);
console.log(
moment(time1, format).isBetween(moment(time2, format), moment(time3, format))
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/366053.html
標籤:javascript 细绳 日期 瞬间
下一篇:在Kotlin中如何操作幾天?
