js小日常--常用方法原生封装

摩云金
• 阅读 1163

日期转化

//数据转化  
function formatNumber(n) {
    n = n.toString()
    return n[1] ? n : '0' + n
}
/** 
 * 时间戳转化为年 月 日 时 分 秒 
 * number: 传入时间戳 
 * format:返回格式,支持自定义,但参数必须与formateArr里保持一致 
 */
function formatTime(number, format) {
    var format;
    var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
    var returnArr = [];
    if (!format) {
        // 是否是今天
        if (new Date(parseFloat(number) * 1000).toDateString() === new Date().toDateString()) {
            format = 'h:m'

        } else if (new Date(parseFloat(number) * 1000).getFullYear() === new Date().getFullYear()) {
            // 是否是今年
            format = 'M-D'
        } else {
            // 今年以前
            format = 'Y-M-D'
        }
    }

    var date = new Date(number * 1000);
    returnArr.push(date.getFullYear());
    returnArr.push(formatNumber(date.getMonth() + 1));
    returnArr.push(formatNumber(date.getDate()));
    returnArr.push(formatNumber(date.getHours()));
    returnArr.push(formatNumber(date.getMinutes()));
    returnArr.push(formatNumber(date.getSeconds()));

    for (var i in returnArr) {
        format = format.replace(formateArr[i], returnArr[i]);
    }
    return format;
}

将大数字格式化

/**
 * 将大数字格式化 例:N万 N亿 保留小数点后一位(方式为截取)
 * @param arg string/int 原始数据
 * @returns {*}
 */
function beautifyNumber(arg) {
    if (arg === undefined || arg === null || arg === "") {
        console.error("参数不能为空");
        return ""
    }
    var strArg = arg + "";
    var length = strArg.length;
    if (length <= 0) {
        return ""
    }
    if (length < 5) {
        return strArg
    }
    if (length < 6) {
        return strArg.substring(0, length - 4) + "." + strArg.substring(length - 4, length - 3) + "W"
    }
    if (length >= 6) {
        // return strArg.substring(0, length - 8) + "." + strArg.substring(length - 8, length - 7) + "亿"
        return "10W+"
    }
    return arg;
}

移动端自适应rem

    <script>
        /* rem自适应脚本
         * @param designWidth 设计稿页面宽度
         */
        ;
        (function (designWidth) {
            var docEle = document.documentElement;
            var scale = 1;
            var viewportContent =
                "width=device-width,initial-scale=" +
                scale +
                ",maximum-scale=" +
                scale +
                ",user-scalable=no";
            var meta = document.querySelector("meta[name=viewport]");
            if (meta) {
                meta.setAttribute("content", viewportContent);
            } else {
                meta = document.createElement("mata");
                meta.setAttribute("name", "viewport");
                meta.setAttribute("content", viewportContent);
                if (docEle.firstElementChild) {
                    //<head>
                    docEle.firstElementChild.appendChild(meta);
                } else {
                    var head = document.createElement("head");
                    head.autocapitalize(meta);
                    docEle.appendChild(head);
                }
            }
            //设置font-size
            docEle.style.fontSize = (docEle.clientWidth / designWidth) * 16 + "px";
        })(375);
    </script>

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Karen110 Karen110
4年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
Stella981 Stella981
4年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
4年前
HIVE 时间操作函数
日期函数UNIX时间戳转日期函数: from\_unixtime语法:   from\_unixtime(bigint unixtime\, string format\)返回值: string说明: 转化UNIX时间戳(从19700101 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive   selec
Wesley13 Wesley13
4年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这