[英]JavaScript: Add time zone offset to AM/PM date saved as a string?
[英]Javascript DATE add AM PM
我正在检查两个不同的日期时间,以查看一个是否大于另一个:
这是我(现在)的当前日期时间:2013年8月1日星期四GMT-0500(CDT)这是我正在查看的日期时间是否大于或小于:2013年8月1日星期四12:15 :00 GMT-0500(CDT)-(顺便说是12:15)
这是我的代码:
var current_date_time = new Date();
var date_time_checking_against = new Date(date_segment[0], date_segment[1]-1, date_segment[2], time_segment[0], time_segment[1]);
将于2013年8月1日星期四GMT-0500(CDT)出来。 然后我正在做一个简单的if检查:
if(current_date_time >= date_time_checking_against){ }
由于10:27:40不在12:15:00之后,因此无法正常工作。 但这应该是正确的,因为两个时间都是上午。 我需要知道这是正确的方法,还是有办法将其更改为24小时格式或以某种方式在其中添加am pm。 如有任何帮助,我们将不胜感激,如果需要进一步说明,请与我联系。
谢谢!
编辑:
这是日期时间数组:
var date_time_str = date+' '+time;
date_time_str = date_time_str.split(' ');
["2013-08-01", "12:15", "am"] // result from split above
var date_segment = date_time_str[0].split('-');
var time_segment = date_time_str[1].split(':');
var date_time_checking_against = new Date(date_segment[0], date_segment[1]-1, date_segment[2], time_segment[0], time_segment[1]);
给定以下数据源,这就是为它正确创建Date对象的方式。
date_time_str = ["2013-08-01", "12:15", "am"];
var date_segment = date_time_str[0].split('-');
var time_segment = date_time_str[1].split(':');
var date_time_checking_against = new Date(
date_segment[0], // year
date_segment[1]-1, // month of year
date_segment[2], // day of month
(time_segment[0]%12) + (date_time_str[2] == 'pm' ? 12 : 0), // hour of day
time_segment[1]); // minute of hour
console.log(new Date() >= date_time_checking_against); // true, we've already passed this time
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.