2017-01-31 2 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を使用して、現在の日付/時刻からそれらが取得されないようにします。はるかに良いアプローチは、parsingを使って@MattJohnsonsの答えです。

+1

このように動作しますが、現在の時刻に基づいて秒数以下の副作用が設定されます。どこか別の場所から始めて調整するのではなく、良いデータから始める方がいいです。しかし、ありがとう。 –

+0

@MattJohnsonはい、良い叫び声。投稿時には元の質問の文脈で考えていたとは思えませんでしたが、それはやや無関係だったので、短くて甘くしていました。あなたは正しいですが、すべてをゼロにリセットする方が良い方法でしょう。それに応じて答えを更新しました。 –

2

好ましい方法は、最初の構築中の時間を設定することです。あなたがいずれかを使用することができます

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

または

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

日付部分は現在の日付に解決されるだろう、と何秒以下がゼロに設定されます。

+0

私はこれをアクティビティフィードで見ました...私はそうでしたが、私はそれに答えませんでした! –

+0

@MatthewJohnson - これはいい名前です。あなたの知り合いを作るのはうれしい! –

+0

これは確かに良いアプローチであり、答えになるはずです。私は何か新しいことを学んだ。フィードバックをお寄せいただきありがとうございます。 –

関連する問題