计算日期选择器+时间选择器是否在东部标准时区的过去
Calculating if date picker + time picker are in the past of Eastern Standard Time zone
我有一个标准的输入类型=日期字段,在发布时输出值(如"2016-03-28"),还有一个时间选择器,在发布后输出值(例如"10:30pm")。我需要检查日期和时间的组合是否是相对于EST(东部标准时区)的过去。最好的方法是什么?
以下是我的操作方法:
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");
}
如果分别输入日期(如2016-03-28)和时间(如晚上10:30),则应分析两者以生成日期。要将日期视为EST(可能是US-05:00),请使用UTC方法创建日期并添加5小时。
"现在"的日期将具有UTC时间值,因此您可以按原样使用,然后直接比较日期对象:
/* @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');
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery最近父级的数据属性选择器
- 为什么不'在JQuery中找到第二个css选择器的工作
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- jquery IE7中的第n个选择器
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- 正在搜索JavaScript日期选择器滑块
- 如何将返回的值应用于多个不同位置的多个选择器
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 如何在多个jQueryUI日期选择器中屏蔽特定日期
- jquery日期选择器显示与值不同的文本
- jQuery选择器无法正常工作
- 计算日期选择器+时间选择器是否在东部标准时区的过去
- 如何将东部标准时间设置为日期选择器 (jquery ui) - 使用 javascript