我有一個標準輸入類型=日期字段,輸出一個值,如「2016-03-28」,當其發佈時,以及一個時間選擇器在發佈時會輸出類似「10:30 pm」的值。我需要檢查日期和時間的組合是否相對於EST(東部標準時區)過去。什麼是最好的方法來做到這一點?計算日期選擇器+時間選擇器是否在過去的東部標準時區
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
鑑於日期分開輸入,比如2016年3月28日和時間喜歡晚上10:30你應該分析這兩個生產日期。要將日期視爲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. 日期時間選擇器
- 2. 日期時間選擇器
- 3. 日期/時間選擇器++
- 4. 如何設置東部標準時間日期選擇器(jquery ui) - 用javascript
- 5. 日期選擇器計算
- 6. 在時間選擇器和日期選擇器中的錯誤
- 7. 不能讓時間選擇器灰掉過去的日期
- 8. 日期時間選擇器計劃時間從當前時間
- 9. jQuery的日期選擇器 - 計算的時間差
- 10. 引導日期選擇器的時間差,並預留計算
- 11. 驗證jQuery的日期選擇器和時間選擇器
- 12. 日期時間選擇器在iPhone
- 13. 在日期選擇器中設置中東時區格式
- 14. jquery日期時間選擇器選擇日期時間和分鐘
- 15. 如何計算2日期時間選擇器?
- 16. 的jQuery日期時間選擇器
- 17. 日期時間選擇器的格式
- 18. symfony - jQuery的日期時間選擇器
- 19. datagridview中的日期時間選擇器
- 20. 的jQuery日期時間選擇器MVC3
- 21. 添加時間選擇器到日期選擇器android
- 22. Bootstrap3日期時間選擇器選擇24小時不工作
- 23. 獲取不同時區的時間選擇時間選擇器
- 24. SQL選擇減去日期時間與日期時間
- 25. Jquery Ui日期時間選擇器
- 26. 限制日期/時間選擇器
- 27. 引導日期時間選擇器「dp.change」
- 28. ESRI js API日期時間選擇器
- 29. Mobiscroll日期和時間選擇器
- 30. jquery日期時間選擇器
計算的日期和時間東部標準時間(大概是美國時間),看看它是在日期之前還是之後。你有什麼嘗試?獲得特定抵消的時間並不困難。 – RobG
是的,我正在推翻它。我不知道抵消事情是如何工作的。我發佈瞭如何在下面做到這一點。 –