[英]How to set time with date in momentjs
Moment.js 不提供通過字符串設置現有時刻的時間的方法。 為什么不將兩者連接起來:
var date = "2017-03-13"; var time = "18:00"; var timeAndDate = moment(date + ' ' + time); console.log(timeAndDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
或者,您可以使用兩個 Moment 對象並使用 getter 和 setter。 雖然這是一個更加冗長的選項,但如果您不能使用連接,它可能會很有用:
let dateStr = '2017-03-13', timeStr = '18:00', date = moment(dateStr), time = moment(timeStr, 'HH:mm'); date.set({ hour: time.get('hour'), minute: time.get('minute'), second: time.get('second') }); console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
由於這會在 google 結果中彈出,因此 moment 現在有一個set(unit, value)
函數,您可以通過以下方式實現:
const hours = 15;
const minutes = 32;
var date = moment("1946-05-21").set("hour", hours).set("minute", minutes);
或作為組合功能
var date = moment("1946-05-21").set({"hour": 15, "minute": 32});
注意: set
函數要求值為Integer類型
以防萬一有人想知道如何在Date Object上設置時間,我是這樣做的:
const dateObj = new Date();
const dateStr = dateObj.toISOString().split('T').shift();
const timeStr = '03:45';
const timeAndDate = moment(dateStr + ' ' + timeStr).toDate();
var timeAndDate = moment(date).add(moment.duration(time))
當您為日期和時間分隔字符串時,您可以首先將日期解析為日期,然后將其解析為持續時間,然后添加它們。 這應該創建一個moment
與適當的日期和時間
對於不同時間的今天日期:
moment(12, "HH")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.