2016-07-19 10 views
0

私は、データベースからこの日付の文字列を取得:私は日時を作成し、クライアント上でstring date dateオブジェクトの変換のトラブルシューティングを行います。

var MeasureDateStr = "2016-07-19T16:29:31"; 

をMeasureDate値からjavascriptオブジェクト:measureDateオブジェクトが作成された後にコンテンツがある

var measureDate = new Date(MeasureDateStr); 

var measureDate = Tue Jul 19 2016 19:29:31 GMT+0300 (Jerusalem Daylight Time); 

ご覧のとおり、元の日付文字列とは別の時間(+ 3時間)を持っています。

私の質問は、私がmeasureDateで別の時間を取得し、問題を解決する方法です。

答えて

0

閲覧するタイムゾーンのブラウザに何も表示されていないため、ユーザーのローカルタイムを取得します。

var MeasureDateStr = "2016-07-19T16:29:31Z"; 

はまた、これは役立つかもしれない:あなたはUTC時間を持ちたい場合は

は、単に時間文字列の末尾にZを追加するには、ブラウザのタイムゾーンがGMTに設定されているため How to ISO 8601 format a Date with Timezone Offset in JavaScript?

+0

私はまだ+3時間取得 – Michael

0

にです+ 3。また、あなたの日時計にタイムゾーンを指定しないので、自動的に3時間が追加されます。

EDIT:

var d = '2016-07-19T16:29:31'; 
var offset = new Date().getTimezoneOffset() * 60 * 1000; // get Timezone offset in milliseconds. 
d = new Date(Date.parse(d) + offset) // Remove the timezone offset. 

console.log(typeof d); // object 
console.log(d); // Tue Jul 19 2016 16:29:31 GMT+0200 (CEST) 

旧答え:

new Date('2016-07-19T16:29:31').toUTCString() 
+0

私はオブジェクトと文字列が必要ではありません – Michael

+0

@マイケル私は私の答えを誤解して更新しました。 –

0

はよろしいですか? 報告する文字列は現地時間文字列です。

例を実行すると、Tue Jul 19 2016 16:29:31 GMT+0200 (ora solare Europa occidentale)が得られるので、ローカルの時間は保存され、タイムゾーンは添付されます。

Zやタイムゾーンの表示(2016-07-19T16:29:31+03:00など)を追加する場合は、必要な動作を正確に指定できます。

日付をログインしたとき、あなたは常に日付が別の時間帯で指定された場合でも、ローカルフォーマットを取得することに注意してください:

var MeasureDateStr = "2016-07-19T16:29:31+03:00"; 
var measureDate = new Date(MeasureDateStr); 
console.log(measureDate); 

私はGMT + 2上だから、私はTue Jul 19 2016 15:29:31 GMT+0200 (ora solare Europa occidentale)を取得。しかし時間はそれに応じて変換されます。

関連する問題