欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

整理知识点

程序员文章站 2022-07-12 15:38:35
...

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