2017-01-21 1 views
-3

Dateオブジェクトから時間と分を抽出する際に、私は非常に奇妙な動作をします。私の最初のオブジェクト日付は2017-01-16T19:00:00と表示されています。ここでのサンプルコードは次のとおりです。新しいDateオブジェクトJavascript with additional hour

var dt = new Date(date); 
console.log("intial start date: "+date.format()); 
console.log("start date: "+dt); 

が、私は時間と分を抽出するために、新しいDateオブジェクト(dt)を作成したとき、私は初期値から1時間以上を見ることができます....タイムゾーンが正しいように思えます。 ...ここ

は、ログは以下のとおりです。実際には

intial start date: 2017-01-16T19:00:00 
start date: Mon Jan 16 2017 20:00:00 GMT+0100 (Romance Standard Time) 
start date hours: 20 Minutes: 0 

私はちょうど私が正しい時間と分を持つことを行うことができますどのように、日から時間と分を抽出したいですか?

+0

"タイムゾーンは正しいと思われる" - タイムゾーンはISO日付で設定したものとは異なります。 – Quentin

+0

しかし、私はdt2オブジェクト内にタイムゾーンを指定していません... – tiamat

+0

あなたが正しいと考える時間を決めなければなりません:現地時間、またはUTC時間。 – trincot

答えて

2

明らかに、fullCalendarを使用しています。これは、Momentを使用して日付を処理しています。したがって、.format()を呼び出すと、モーメントによって定義されたメソッドが呼び出されます。 documentation on that methodは言う:バージョン1.5.0のよう

、フォーマットはmoment.defaultFormatがデフォルトになりますなしmoment#formatを呼び出します。だから、箱から出して、moment.defaultFormatはISO8601形式でYYYY-MM-DDTHH:mm:ssZ

.format()に引数を指定しないことで、日付/時刻はあなたではありませんGMT午後12時00分の時間帯でレンダリングされます。これを解決するには、次のようにフォーマット引数を指定します。

date.format('DD/MM/YYYY HH:mm:ss') 
関連する問題