整理知识点

1 篇文章 0 订阅
1 篇文章 0 订阅

1.用js将从后台得到的时间戳(毫秒数)转换为想要的日期格式

1477386005是我从后台得到时间戳 (注意:有的时候得到的时间戳是已经乘以1000的)

var unixTimestamp = new Date( 1477386005*1000 );
var commonTime = unixTimestamp.toLocaleString();
alert(commonTime);

但是我希望转换为我自己想要的格式,就在本页面重写一下 toLocaleString()方法即可。

Date.prototype.toLocaleString = function() {
      return this.getFullYear() + "年" + (this.getMonth() + 1) + "月" + 
      this.getDate() + "日 " + this.getHours() + "点" + this.getMinutes() + "分" + this.getSeconds() + "秒";
};

2.JS字符串转成数学表达式

  • 将字符串转换成数字,得用到parseInt函数

    parseInt('123') : 返回 123(int);
    parseInt('1234xxx') : 返回 1234(int);
    

    如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;

  • 同样的parseFloat函数是将字符串转换成浮点数。

    parseFloat('31.24abc') : 返回 31.24;
    

3.mysql分组并多行拼接–group_concat和groupby的使用

  • 默认逗号连接

    select t.type,group_concat(t.name) “result” from exe t group by t.type;
    
  • separator指定连接符

    select t.type,group_concat(t.name separator ‘;’) “result” from exe t group by t.type;
    
  • 排序连接

    select t.type,group_concat(t.name order by t.other desc) “result” from exe t group by t.type;
    

4.mysql日期加减函数

  • DATE_ADD() 函数

    SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders
    
    OrderDate:2008-12-29 16:25:46.635
    

5.js怎么写一个时间相减得到时间差

var date1 = new Date('2013/04/02 18:00')
var date2 = new Date('2013/04/02 19:22:21')

var s1 = date1.getTime(),s2 = date2.getTime();
var total = (s2 - s1)/1000;

var day = parseInt(total / (24*60*60));//计算整数天数
var afterDay = total - day*24*60*60;//取得算出天数后剩余的秒数
var hour = parseInt(afterDay/(60*60));//计算整数小时数
var afterHour = total - day*24*60*60 - hour*60*60;//取得算出小时数后剩余的秒数
var min = parseInt(afterHour/60);//计算整数分
var afterMin = total - day*24*60*60 - hour*60*60 - min*60;//取得算出分后剩余的秒数
注:IE浏览器不识别date()方法中日期字符串的-格式,会显示NAN,此时需要转成/,即需要如下操作:
var strTime="2011-04-16";  //字符串日期格式           
var date= new Date(Date.parse(strTime.replace(/-/g,   "/"))); //转换成Data();
var month=date.getMonth()+1; //获取当前月份****

6.Java三元运算符

int a = 0;
int b = 1;
int c = a > b ? a : b;

7. 让jquery.tmpl取循环序号

${index}或{{= index}}

8.JS 时间转换函数 字符串时间转换毫秒(互转)

  • 【1】js毫秒时间转换成日期时间

    var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数  
    //不是上面格式的时间需要转换
    
    starttime ='2012-12-25 20:17:24';
    starttime = starttime.replace(new RegExp("-","gm"),"/");
    var starttimeHaoMiao = (new Date(starttime)).getTime(); //得到毫秒数
    
  • 【2】毫秒数转化为时间

    var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数  
    
    var newTime = new Date(oldTime); //就得到普通的时间了 
    
    然后通过getHours,getFullYear等方法获取年月日,时分秒了
    

9.javascript如何获取客户端的年月日时分秒和毫秒的数据?

var myDate = new Date();
myDate.getYear();        //获取当前年份(2位)
myDate.getFullYear();    //获取完整的年份(4位,1970-????)
myDate.getMonth();       //获取当前月份(0-11,0代表1月)
myDate.getDate();        //获取当前日(1-31)
myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();       //获取当前小时数(0-23)
myDate.getMinutes();     //获取当前分钟数(0-59)
myDate.getSeconds();     //获取当前秒数(0-59)
myDate.getMilliseconds();    //获取当前毫秒数(0-999)
myDate.toLocaleDateString();     //获取当前日期
var mytime=myDate.toLocaleTimeString();     //获取当前时间
myDate.toLocaleString( );        //获取日期与时间

10.jquery获取当前元素的坐标

var obj = $(this); 
var offset = obj.offset(); 
//获取对象元素的位置(offset()方法)  
//获取对象元素的位置,分别是元素的top和left,调用方法是:offset.left和offset.top,可知当前对象的左部和顶部位置。

var right = offset.left+obj.width();   获取对象元素的宽度(width()方法)   

var down = offset.top+obj.height();   获取对象元素的高度(height()方法)   

11.获取选中的下拉选框的label

$('input[name='s1'] option:selected') .text(); //label
$('input[name='s1'] option:selected') .val(); //value

12.substring 方法

  • 语法

    stringObject.substring(start,stop)

  • 参数 描述

    start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

    stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

  • 返回值

    一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

  • 说明

    substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。

    如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

    如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

    如果 start 或 end 为负数,那么它将被替换为 0。

13.substr 方法

  • 语法

    stringObject.substr(start [, length ])

  • 参数 描述

    start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

    length 可选。在返回的子字符串中应包括的字符个数。

  • 说明

    如果 length 为 0 或负数,将返回一个空字符串。

    如果没有指定该参数,则子字符串将延续到stringObject的最后。

14.jQuery使用下面两个方法来删除或是清空某个HTML元素。

remove() – 删除指定的元素(包括其子元素)
empty() – 清空指定元素的子元素

15.jquery属性值选择器

http://www.cnblogs.com/nmxs/p/4888049.html

16.模糊查询使用#进行占位不使用$的方法

like concat(concat('%',#{remark}),'%')

17.textarea限制字符实现方式

  • 场景

    如果数据库该字段存储类型为varchar,长度为200,此时前台页面中textarea中设置maxlength为200,当输入字符达到上限,并且中间出现回车,保存插入数据库时会发现报错,提示该字段超出长度

  • 原因

    一个回车占用两个字符,但是maxlength判断的是回车占用一个字符,所以出现一个回车时,maxlength就少算一个字符,导致实际长度超出限制

  • 解决方法

    (1)直接将maxlength长度减半,即可保证长度不会超出数据库最大范围,但是没有回车的时候,可输入的字符长度也会被砍了一半

    (2)提交时对输入框中字符串进行回车替换,可用空格替换,保证回车只占用一个字符,抑或使用特殊字符进行替换,前台展示时再将其反替换,转回来

    (3)直接将回车进行过滤(可前台也可后台,推荐前台)

    过滤回车实现方法:

    function ReplaceSeperator(textContent) {
        var i;
        var result = "";
        var c;
        for (i = 0; i < textContent.length; i++) {
            c = textContent.substr(i, 1);
            if (c == ";" || c == "," || c == "," || c == "\n")
                result = result + ";";
            else if (c != "\r")
                result = result + c;
        }
        return result;
    }
    

注:不可使用replace方法进行替换,因为没有用,\n和\r都无法找到文本中的回车进行替换,只能逐个字符遍历判断


我们的友谊,最终还是死在了朋友圈 https://www.baidu.com/home/news/data/newspage?nid=13174436681965189381&n_type=0&p_from=1&dtype=-1

不管你长多丑,绝对当不了单身狗 https://www.baidu.com/home/news/data/newspage?nid=6107688523136211041&n_type=0&p_from=1&dtype=-1

数据库中丢失更新问题的悲观锁解决方法 http://blog.sina.com.cn/s/blog_6aefe4250101bjcp.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值