• js,将日期时分秒等格式化和转化


    1.将js Date对象格式化为指定格式,添加一个原型方法

    /**
     * 返回指定format的string
     * format eg:'yyyy-MM-dd hh:mm:ss'
     **/
    Date.prototype.format = function(format) {
        var o = {
            "M+": this.getMonth() + 1,
            "d+": this.getDate(),
            "h+": this.getHours(),
            "m+": this.getMinutes(),
            "s+": this.getSeconds(),
            "q+": Math.floor((this.getMonth() + 3) / 3),
            "S": this.getMilliseconds()
        }
        if (/(y+)/.test(format)) {
            format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for (var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
            }
        }
        return format;
    }
    
    使用如:
    new Date().format('yyyy-MM-dd');    // echo: '2015-12-01'

    2.得到昨天 (永远相对于今天的前一天)

    // 得到昨天的日期 返回昨天
    function yesterday() {
        var today = new Date();
        var the_yesterday = today.setDate(today.getDate() - 1);
        return the_yesterday;
    }

    3. 得到上一个月的今天

    // 得到近一个月 返回上一个月的今天
    function lastMonth() {
        var today = new Date();
        var month = today.getMonth();
        var the_last_month;
        if (month == 0) {
            the_last_month = today.setMonth(11);
        } else {
            var the_last_month = today.setMonth(month - 1);
        }
        the_last_month =  new Date(the_last_month).format('yyyy-MM-dd');
        return the_last_month;
    }

    4.得到指定格式的最近一周 返回一个数组

    // 得到近一周 返回数组   (note: 这里的format使用了上面的用来format原型方法)
    function lastWeek(format) {
        var today = new Date();
        var the_week = [];
        var format = format || 'yyyy-MM-dd';
        for (var i = 1; i < 8; i++) {
            var temp = today.setDate(today.getDate()-1);
            temp = new Date(temp).format(format);
            the_week.unshift( temp );
        };
        return the_week;
    }

    5.得到近n天 返回一个数组

    // 得到近n天 返回数组
    function lastNDay(days,format) {
        var today = new Date();
        var the_days = [];
        var format = format || 'yyyy-MM-dd';
        for (var i = 1; i < days+1; i++) {
            var temp = today.setDate(today.getDate()-1);
            temp = new Date(temp).format(format);
            the_days.unshift( temp );
        };
        return the_days;
    }
    
    //使用如
    lastNDay(7);  // 返回最近一周的日期数组 format参数可选
    
    // [ '2011-11-01', '2011-11-02','2011-11-03','2011-11-04','2011-11-05','2011-11-06','2011-11-07' ]

    6.把毫秒转换成时长

    // 把毫秒转换成时长
    // 返回 1.若小于等于60秒,显示秒数
    //     2.若大于1分钟小于1小时,显示分钟
    //     3.若大于1小时,显示x小时x分钟
    function MillisecondToTime(msd) {
        var time = parseInt(msd) / 1000;
        if (time <= 60) {
            time = time + '秒';
            return time;
        } else if (time > 60 && time < 60 * 60) {
            time = parseInt(time / 60) + "分钟";
            return time;
        } else {
            var hour = parseInt(time / 3600) + "小时";
            var minute = parseInt(parseInt(time % 3600) / 60) + "分钟";
            time = hour + minute;
            return time;
        }
    }
  • 相关阅读:
    [Project Euler] Problem 58
    [Project Euler] Problem 59 Decrption
    [Project Euler] Problem 57
    VS2010 + WinDDK 搭建驱动开发环境
    利用C++模板特性计算各整数类型的最大最小值
    虚表的那些事儿
    ModuleNotFoundError: No module named 'pip._vendor.six'
    OpenCVPython系列之单应性查找对象理论篇
    OpenCVPython系列之背景分离
    OpenCVPython系列之Shi—tomasi拐角检测器
  • 原文地址:https://www.cnblogs.com/isdom/p/webclips017.html
Copyright © 2020-2023  润新知