私は標準入力タイプ=日付フィールドを取得しました。このフィールドは、投稿されたときに "2016-03-28"ポストされると「午後10時30分」のような値を出力するピッカーです。日付と時刻の組み合わせが東部標準時(東部の標準時間帯)に対して過去であるかどうかを確認する必要があります。これを行う最善の方法は何ですか?ここで日付ピッカー+時間ピッカーが東部標準時間帯の過去にあるかどうかを計算する
0
A
答えて
0
は、私はそれをやった方法は次のとおりです。
var entryDate = $("input[name='launchDate']").val();
var entryTime = $("input[name='launchtime']").val();
var morningEvening = entryTime.slice(-2);
var fixedTime;
if (morningEvening === "am") {
fixedTime = entryTime.split('am').join(' AM');
} else {
fixedTime = entryTime.split('pm').join(' PM');
}
var newDate = new Date(entryDate + " " + fixedTime);
var inputDate = newDate.toLocaleString();
var offset = -5.0;
var clientDate = new Date();
var utc = clientDate.getTime() + (clientDate.getTimezoneOffset() * 60000);
var newYork = new Date(utc + (3600000*offset));
var newYorkDate = newYork.toLocaleString();
if (inputDate < newYorkDate) {
console.log("It's in the past");
} else {
console.log("It's in the future");
}
+0
Dateコンストラクタを使用して文字列を解析することは、** toLocaleString *(これは完全に実装依存で、異なるブラウザで異なる結果を生成する)に対して生成された文字列に対して**強く**推奨され、比較されます。 – RobG
0
あなたは、両方の日付を生成するために解析する必要があります午後10時30分のように2016年3月28日及び時間などの日付のために別々の入力を考えます。日付をEST(おそらくUS-05:00)として扱うには、UTCメソッドを使用して日付を作成し、5時間を追加します。あなたはそのままであることを使用できるように
日「今」UTC時間値を持つことになりますため、そしてちょうど直接Dateオブジェクトを比較します。
/* @param {string} ds - date string in format yyyy-mm-dd
** @param {string} ts - time string in format hh:mmap
** @returns {Date} Date with time value for equivalent EST time
*/
function parseDateTimeAsEST(ds, ts) {
var b = ds.split(/\D/);
var c = ts.split(/\D/);
c[0] = +c[0] + (/pm$/i.test(ts)? 12 : 0);
return new Date(Date.UTC(b[0], b[1]-1, b[2], c[0]+5, c[1]));
}
// Is now before or after 2016-03-28T22:30:00-05:00?
document.write(new Date() < parseDateTimeAsEST('2016-03-28','10:30pm')? 'before' : 'after');
document.write('<br>');
// Is now before or after 2016-04-01T01:30:00-05:00?
document.write(new Date() < parseDateTimeAsEST('2016-04-01','01:30am')? 'before' : 'after');
関連する問題
- 1. のiOS日付ピッカー - 過去30日間
- 2. ブートストラップ日付ピッカー時間ピッカー入力テキスト
- 3. "米国東部標準時間"と "東部標準時"との比較
- 4. 日付時間ピッカー操作
- 5. 日付ピッカー時間:HH:mm:ss
- 6. 日付時間ピッカーjQuery
- 7. ブートストラップから時間セグメントを除外する日付時間ピッカー
- 8. 東部標準時(EST)と東部夏時間(EDT)を扱うR
- 9. 日付時間ピッカーの形式
- 10. コードネーム1の日付時間ピッカー問題
- 11. 日付ピッカー12時間形式android
- 12. 時間ピッカー最小時間
- 13. 過去の日付と日曜日が無効の日付ピッカー
- 14. タイムゾーン "東部標準時" は
- 15. 時間ピッカーで過去の日付をグレーアウトすることができません
- 16. 時間ピッカーAndroid
- 17. 目覚まし時計 - 時間ピッカー
- 18. Bootstrap3日時ピッカー24時間オプションは
- 19. 時間ピッカーと時間ピッカーを一緒に使用するにはどうすればよいですか?
- 20. jQuery日付iOS/Androidでうまく動作する時間ピッカー
- 21. angular4ウェブパックプロジェクトの日付時間ピッカーを使用するには
- 22. UIDateピッカーSET時間と時間の差を計算する時間が短くなります。
- 23. androidで経過時間と日付を計算する方法
- 24. UIAlertViewの時間ピッカー
- 25. ピッカーで過去の日付を無効にする
- 26. Python - X日付からの経過時間を計算するには?
- 27. Octave:日付を取得する時間ピッカー
- 28. jqueryの実行時間カレンダー日付ピッカー日は
- 29. 日付と時刻の合計時間を計算する
- 30. 時間ピッカー付きのJQueryのdatepicker?
は、日付と時刻を計算します東部標準時間(おそらく米国のもの)のために、日付の前後にあるかどうかを確認してください。何を試しましたか?特定のオフセットの時間を取得することは困難ではありません。 – RobG
ええ、私はそれを考え直していました。オフセットされたものがどう働いているのか分かりませんでした。私は下でそれをどのようにして投稿しました。 –