2017-01-31 59 views
0
moment("17-Jan-2017 12:00 pm", "DD-MMM-YYYY hh:mm a") 

使用moment.js,我無法計算如何使用預定義時間創建當前日期。我認爲這可能工作:Moment.js - 使用預定義時間獲取當前日期

moment(moment(new Date()).format("DD/MM/YYYY") + " 12:00 pm", "DD-MMM-YYYY hh:mm a"); 

但它不 - 我如何建立日期時間?

回答

1

您可以使用set function這樣設置:

moment().set({ hour: 12, minute: 0, second: 0, millisecond: 0 }); 

,然後格式化,使用format function

moment().set({ hour: 12, minute: 0, second: 0, millisecond: 0 }) 
     .format("DD/MM/YYYY hh:mm:ss"); 

更新 - 現在還包括second的設置與millisecond以防止從當前日期/時間獲取這些內容。 @MattJohnsons答案更好的方法是使用parsing

+1

這種類型的工作,但它有副作用秒和更低基於當前時間設置,而不是零。更好的是從好的數據開始,而不是從其他地方開始並進行調整。但是,謝謝。 –

+0

@MattJohnson是的,好呼喊。我確實認爲,在發佈時,但在原始問題的背景下思考,它有點不相關,所以試圖保持簡短和甜蜜。你是對的,但將一切都重置爲零當然是一種更好的做法。相應地更新了答案。 –

2

首選的方法是設置初始施工期間的時間。您可以使用:

moment("12:00", "HH:mm") 

moment({ hour: 12, minute: 0}) 

日期部分將被解析爲當前日期,以及任何秒或更低的將被設置爲零。

+0

我在活動信息中看到了這個...我就是這樣,我沒有回答! –

+0

@MatthewJohnson - 這是個好名字。很高興認識你! –

+0

這當然是更好的方法,應該是答案。我學到了一些新東西。感謝您的反饋。 –

相關問題