zoukankan      html  css  js  c++  java
  • 关于js中的时间——计算时间差等

    获取当前(系统)时间:

    var NowDate= new Date(); 
    // 获取当前日期时间
    // 输出为: Wed May 03 2017 14:52:08 GMT+0800 (中国标准时间)
    
    NowDate.toLocaleString( );
    // 获取当前日期时间
    // 输出为:yyyy-MM-dd hh:mm:ss
    
    NowDate.toLocaleTimeString();
    // 获取当前时间
    // 输出为:hh:mm:ss
    
    NowDate.toLocaleDateString();
    // 获取当前日期
    // 输出为:yyyy-MM-dd
    
    NowData.getFullYear();    // 获取当前年(yyyy  1970~????)
    NowData.getMonth();      // 获取当前月 (0~11月,0表示1月)
    NowData.getDate();        // 获取当前日 (1~31)
    NowData.getDay();         // 获取当前星期 (0~6  0表示周天)
    NowData.getTime();       //  获取毫秒数 (从1970年1月1日 到现在的毫秒数)
    NowData.getHours();     // 获取小时数 (0~23  0表示24点)
    NowData.getMinutes();  // 获取分钟数 (0~59)
    NowData.getSeconds(); // 获取秒数 (0~59)
    NowData.getMilliseconds();  // 获取当前毫秒数(0~999)

    字符串转date类型

    /**
        ** 字符串类型转date类型
        ** 参数: str  待转字符串(yyyy-MM-dd hh:mm:ss)
        ** 返回: date类型时间对象
    */
    function stringToDate(str){
        var tempStrs = str.split(" ");  //截取时间
        // 解析日期部分
        var dateStrs = tempStrs[0].split("-");
        var year = parseInt(dateStrs[0], 10);
        var month = parseInt(dateStrs[1], 10) - 1;
        var day = parseInt(dateStrs[2], 10);
        // 解析时间部分
        var timeStrs = tempStrs[1].split(":");
        var hour = parseInt(timeStrs [0], 10);
        var minute = parseInt(timeStrs[1], 10);
        var second = parseInt(timeStrs[2], 10);
        var date = new Date(year, month, day, hour, minute, second);
        return date;
    }

    计算距离当前时间的时间差

    function getDtime(Timestr){
        var rDate = {};
        var tempStrs = Timestr.split(" ");  //截取时间
        var dateStrs = tempStrs[0].split("-");  // 解析日期部分
        var timeStrs = tempStrs[1].split(":");  // 解析时间部分
        // 获得目标时间对象
        var finallyDate = new Date(parseInt(dateStrs[0], 10), 
                                    (parseInt(dateStrs[1], 10) - 1), 
                                    parseInt(dateStrs[2], 10), 
                                    parseInt(timeStrs [0], 10), 
                                    parseInt(timeStrs[1], 10), 
                                    parseInt(timeStrs[2], 10));
        var NowDate = new Date();   // 获取当前时间
        var Dtime = finallyDate - NowDate;  // 计算时间差
        // 填充时间差对象
        rDate.days=Math.floor(Dtime/(24*3600*1000));
        var leave1=Dtime%(24*3600*1000);
        rDate.hours=Math.floor(leave1/(3600*1000));
        var leave2=leave1%(3600*1000);
        rDate.minutes=Math.floor(leave2/(60*1000));
        var leave3=leave2%(60*1000);
        rDate.seconds=Math.round(leave3/1000);
        return rDate;
    }

    欢迎提意见,有更好的封装请留言。

  • 相关阅读:
    iOS应用程序间共享数据(转)
    解决右滑返回手势和UIScrollView中的手势冲突(转)
    (转)iOS被开发者遗忘在角落的NSException-其实它很强大
    iOS 身份证最后一位是X,输入17位后自动补全X(转)
    springboot单机秒杀之queue队列
    springboot单机秒杀-aop+锁
    springbot单机秒杀,锁与事务之间的大坑
    spring-cloud学习之4.微服务请求打通
    spring-cloud学习之3.使用feign实现负载均衡
    spring-cloud学习之2.搭建请求网关spring-cloud-getway
  • 原文地址:https://www.cnblogs.com/MirageFox/p/6802657.html
Copyright © 2011-2022 走看看