2016-10-11 14 views
-1

私は英字形式 "DD/MM/YYYY HH:mm"で日付を取得していますが、javascriptで新しい日付を作成します。私はmoment.jsを使って次のことを試していますが、それはtimepartを認識せず、単に現在の時刻を追加します。Javascript - UK形式とmoment.jsを使用して新しい日付を作成

var myDate = "11/10/2016 09:00" 

// The toDate() is equivalent to the javascript new Date() function 
var newDate = moment(myDate, "YYYY-MM-DD HH:mm").val()).toDate(); 

// output: 
// 20161011T091406Z 
// Tue Oct 11 2016 09:14:06 GMT+0100 

ご覧のとおり、スクリプトが実行されるまでの時間部分が変更されています。

+2

あなたの日付の書式は、すべての入力に一致するように表示されない - 意図的ということでしょうか? – jonrsharpe

+0

提案したように、入力文字列に一致する形式に修正する必要があります。あなたは次のようになります: 'var newDate = moment(myDate、" DD/MM/YYYY HH:mm ")toDate();' – VincenzoC

+0

@jonrsharpeとVincenzoCあなたはどちらも間違っています。私はJavaScriptをiso形式に既存の形式を解析するmoment.jsを使用しています。 http://momentjs.com/docs/#/parsing/string-format/ – adam78

答えて

1

は、次の手順を実行して、自分自身をそれを考え出し:

var myDate = "11/10/2016 09:00" 

myDate = moment(myDate, "DD/MM/YYYY HH:mm").toISOString(); 

var newDate = moment(myDate).toDate(); 
+2

文字列として出力された瞬間オブジェクトに文字列を解析していて、瞬間オブジェクトに再度解析し、* toDate *を呼び出すと非効率です。 VincenzoCが示唆したように 'moment(myDate、" DD/MM/YYYY HH:mm ")toDate()を試してください。または、同じことをする2行の関数を記述します。 – RobG

関連する問題