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;
    }

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

  • 相关阅读:
    DNS隧道
    记录上锁(fcntl)
    posix对线程的调整
    MySQL创建存储过程
    MySQL的WHERE语句中BETWEEN与IN的用法和他们的区别
    mysql中distinct
    线程的工作方式-流水线
    可执行程序的生成过程
    线程高级编程
    time函数及其用法
  • 原文地址:https://www.cnblogs.com/MirageFox/p/6802657.html
Copyright © 2011-2022 走看看