JS 如何比较两个输入框里输入的日期大小,并且第一个输入框里的时间还要和当前的时间比较

日期格式是07-28-201306:28这样的不好意思哈日期格式是07/28/201307:06这样的。。再加5分以表歉意。。... 日期格式是07-28-2013 06:28这样的
不好意思哈 日期格式是07/28/2013 07:06这样的。。再加5分以表歉意。。
展开
 我来答
lyz810
2013-06-07 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31777
前端开发工程师

向TA提问 私信TA
展开全部
<input type="text" id="time1" />
<input type="text" id="time2" />
var now = new Date().getTime();//当前时间戳
var time_1 = new Date(document.getElementById('time1').value).getTime();//1的时间戳
var time_2 = new Date(document.getElementById('time2').value).getTime();//2的时间戳
//直接进行时间戳的比较即可,js的时间戳是从1970年1月1日0时0分0秒到对应时间所经过的毫秒数
//上面3个变量都是number类型,可直接进行比较,加减运算也可
更多追问追答
追问
您好 您试下您写的好用么 为啥我测试 根本不好用呢
追答
以上提供的是方法,具体实现要根据你自己的实际情况写
如果你只是把上面的2段代码直接复制使用肯定不行
因为time1和time2起始的value是空的
只给出如何获取当前时间、如何将一个字符串格式的时间转为时间戳
剩下比较并输出结果,需要你自己定义,如果你真的是一点都不会的话,把你要实现的功能详尽的写在追问中,包括如何比较,比较后输出什么样的结果(精确到分钟?秒钟?分钟+秒钟等)这些都写详细才能回答详细
likeajin
2013-06-07 · 超过14用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:36.7万
展开全部
帖一个字符串按格式转时间对象的函数:
/**
 * 根据时间格式化字符串和时间文本值转换会时间对象
 * @param {} value
 * 时间文本值
 * @param {} format
 * 格式化字符串:以Y表示fullYear、y表示year,M表示月份,D或d表示日期,H或h表示小时,m表示分钟,S表示秒钟,s表示毫秒
 * @return {}
 * 返回一个时间
 * 未指定年、月、日则取当前时间的年、月、日。
 * 未指定时、分、秒、毫秒,则都取0.
 */
var parse = function(value, format) {
    var vs = value.split(/[^ymdhs\d]/i), fs = format.split(/[^ymdhs\d]/i);
    if(vs.length != fs.length) throw {message:"格式和值不一致"};
    var d = new Date();
    d.setHours(0);
    d.setMinutes(0);
    d.setSeconds(0);
    d.setMilliseconds(0);
    for(var i = 0, il = vs.length; i < il; i++){
        switch(fs[i]){
        case 'Y':
            d.setFullYear(parseInt(vs[i]));
            break;
        case 'y':
            d.setYear(parseInt(vs[i]));
            break;
        case 'M':
            d.setMonth(parseInt(vs[i]) - 1);
            break;
        case 'd':
        case 'D':
            d.setDate(parseInt(vs[i]));
            break;
        case 'h':
        case 'H':
            d.setHours(parseInt(vs[i]));
            break;
        case 'm':
            d.setMinutes(parseInt(vs[i]));
            break;
        case 'S':
            d.setSeconds(parseInt(vs[i]));
            break;
        case 's':
            d.setMilliseconds(parseInt(vs[i]));
            break;
        }
    }
    return d
};
alert(parse('2010-01-02', 'Y-m-d').format('Y-m-d H:i:s'))比较两个时间:直接对两个时间对象用减法。
var d1 = parse('2010-01-02', 'Y-m-d'), d2 = parse('07-28-2013 06:28', 'M-d-Y H:m'), now = new Date();

var t = d1 - d2;
if(t > 0) alert('d1 大于 d2');
else if(t == 0) alert('d1 等于 d2');
else alert('d1 小于 d2');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式