天文台字符串&&Math&&Date

By admin in 天文台 on 2019年4月1日

1.字符串

字符串正是零个或几个排在一起的字符,放在单引号或双引号之中

多行与转义

.能够在每一行的尾巴使用反斜杠;注意,反斜杠的背后总得是换行符,而不可能有其余字符(比如空格),不然会报错。

var longString = "Long \
long \
long \
string";
console.log(longString)  \\"Long long long string"

2.连接运算符(+)能够接连七个单行字符串,用来效仿多行字符串

var longString = 'Long '
  + 'long '
  + 'long '
  + 'string';
  console.log(longString) // Long long long string

转义:

var str = 'C:\Users\Document\node\index.js'
console.log(str);
var str ="C:\\Users\\Document\\node\\index.js";
console.log(str);

字符串方法

= 获取 str 下标为3的字符

  • 得到 str 下标为4的字符的 Ascii 码
  • 截取字符g到最后的字符串
  • 从字符o开头,截取长为五个字符的字符串
  • 拿到第3个 l的下标

    var str = 'hello jirengu.com'
     console.log(str.charAt(3));
     console.log(str.charCodeAt(4));
     console.log(str.substring(str.search('g'),str.length));
     console.log(str.substr(str.search('o'),4));
     console.log(str.search('l'));
    

范例:

JavaScript算法练习:字符串反转
//1.通过数组内置方法
function reversstring(str){
    var splitstring=str.split("");
    var reversearray=splitstring.reverse();
    var joinarry=reversearray.join("");
    return  joinarry;
}
reversstring("hello");
//简化
function reversestring(str){
    return str.split("").reverse().join("");
}
reversstring("hello");
//2.通过for循环
function reversestring(str){
    var newstr="";
    for(var i=str.length-1;i>=0;i--){
        newstr+=str[i]
    }
    return newstr;
}
reversestring("hello");

2.Math

Math对象是JavaScript的内置对象,提供一多级数学常数和数学方法。Math对象只提供了静态的个性和办法,所以使用时毫无实例化

方法

  • round方法用于四舍五入
  • 天文台,abs方法重回参数值的相对值
  • max方法重回最大的参数,min方法再次回到最小的参数
  • floor方法再次来到小于参数值的最大整数
  • ceil方法重回大于参数值的细小整数
  • pow方法再次来到以第三个参数为底数、第③个参数为幂的指数值
  • sqrt方法再次回到参数值的平方根。若是参数是二个负值,则赶回NaN
  • log方法重返以e为底的当然对数值
  • random再次来到0到1里面包车型客车2个伪随机数,大概等于0,然则一定小于1(重点:获取随机数的绝无仅有情势)
  • sin方法重返参数的正弦,cos方法再次回到参数的余弦,tan方法重返参数的正切。

范例:

写三个函数,再次回到从min到max之间的 随机整数

    // 返回给定范围内的随机整数,包括min不包括max
    function getRandomInt(min, max) {
        return Math.floor(Math.random() * (max - min )) + min;
    }
    // 返回给定范围内的随机整数,包括min包括max
    function getRandomInt(min, max) {
        return Math.floor(Math.random() * (max - min +1)) + min;
    }
    // 返回给定范围内的随机整数,不包括min包括max
    function getRandomInt(min, max) {
        return Math.ceil(Math.random() * (max - min )) + min;
    }

写三个函数,生成三个肆意 IP 地址,二个法定的 IP 地址为 0.0.0.0~255.255.255.255。

    function getRandIP(){
         var arr = [];
        for(var i= 0;i<4;i++){
            arr.push( Math.floor(Math.random()*256));
        }
        return arr.join('.');
    }
    var ip = getRandIP()
    console.log(ip) // 117.3.18.173

写一个函数,生成三个随便颜色字符串,合法的水彩为#000000~ #ffffff

  function getRandColor(){
        var arr=[];
        var str="0123456789abcdef"
        var str1="#"
        for(var i=0;i<6;i++){
            str1+=str[Math.floor(Math.random()*str.length)];
        }
        return str1;
    }
    var color = getRandColor()
    console.log(color)   // #38b4d3

写三个函数,生成四个长短为 n 的即兴字符串,字符串字符的取值范围包涵0到9,a到 z,A到Z。

    function getRandStr(len){
       var str="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
        var sum=str.length;
       var str1='';
        for(var i=0;i<len;i++){
            str1+=str[Math.floor(Math.random()*sum)];
        }
        return str1;
    }
    var str = getRandStr(10);
    console.log(str);

3.Date

  • 克拉霉素T:是指位于英国伦敦花山区的皇家格林尼治天文台当地的正式时间,因为本初子午线被定义为通过那里的经线
  • UTC:协调世界时(英语:Coordinated Universal Time,瑞典语:Temps
    Universel
    Coordonné,简称UTC)是最根本的世界时间标准,其以原卯时秒长为底蕴,在时时上尽心接近于格林尼治标准时间。
  • CST:巴黎时间,又名中夏族民共和国正式时间,是中华新大陆的规范时间,比世界和谐时快八小时(即UTC+8),与香岛、长春、苏黎世、华沙、新加坡共和国等地的科班时间相同。

var d = new Date()
console.log(d.toString())   //"Sun Mar 25 2018 21:37:06 GMT+0800 (中国标准时间)"
console.log(d.toGMTString()) //"Sun, 25 Mar 2018 13:37:06 GMT"
console.log(d.toUTCString())  //"Sun, 25 Mar 2018 13:37:06 GMT"
console.log(d.toISOString())//"2018-03-25T13:37:06.061Z"

方法

get

  var d = new Date()

    d.getTime()         //返回实例对象距离1970年1月1日00:00:00对应的毫秒数
    d.getDate()         //返回实例对象对应每个月的几号(从1开始)
    d.getDay()          //返回星期,星期日为0,星期一为1,以此类推
    d.getFullYear()     //返回四位的年份
    d.getMonth()        //返回月份(0表示1月,11表示12月)
    d.getHours()        //返回小时(0~23)
    d.getMilliseconds() //返回毫秒(0-999)
    d.getMinutes()      //返回分钟(0-59)
    d.getSeconds()      //返回秒(0-59)

set

  • Date.prototype.setDate(date):设置实例对象对应的每一个月的几号(1-31),重返改变后微秒时间戳

  • Date.prototype.setFullYear(year [, month, date]):设置几人年份

  • Date.prototype.setHours(hour [, min, sec, ms]):设置时辰(0-23)

  • Date.prototype.setMilliseconds():设置飞秒(0-999)

  • Date.prototype.setMinutes(min [, sec, ms]):设置分钟(0-59)

  • Date.prototype.setMonth(month [, date]):设置月份(0-11)

  • Date.prototype.setSeconds(sec [, ms]):设置秒(0-59)

  • Date.prototype.setTime(milliseconds):设置阿秒时间戳

Date.now()

now方法再次来到当前离开一九七零年10月二一日00:00:00的微秒数

Date.now(); // 1427974222853

Date.parse()

parse方法用来分析日期字符串,再次来到距离一九六八年二月三十一日 00:00:00的纳秒数
日期字符串的格式应该完全或然部分符合YYYY-MM-DDTHH:mm:ss.sssZ格式,Z表示时区,是可选的
假使条分缕析退步,再次回到NaN

Date.parse("January 26, 2011 13:51:50")
Date.parse("Mon, 25 Dec 1995 13:30:00 GMT")
Date.parse("Mon, 25 Dec 1995 13:30:00 +0430")
Date.parse("2011-10-10")
Date.parse("2011-10-10 20:00:00")
Date.parse("2011-10-10T14:48:00")

小心:在新建日期对象时,固然不安装时间,则觉得创设的是 utc 的0点,也等于新加坡时间8点。 若是设置时间,则是上海时间当前时刻。

new Date('2018-01-01')  // Mon Jan 01 2018 08:00:00 GMT+0800 (CST)
new Date('2018-01-01 00:00:00')  //Mon Jan 01 2018 00:00:00 GMT+0800 (CST)

范例:

写四个函数getChIntv,获取从脚下时光到钦命日期的间隔时间

   function getChIntv(str){
        var timeEnd = Date.parse(str);
        var timeStart = Date.now();
        var interval = Math.abs(timeEnd - timeStart);
        var totalsecond = Math.floor(interval/1000);
        var second = Math.floor(totalsecond%60);
        var minute = Math.floor(totalsecond/60)%60;
        var hour = Math.floor(totalsecond/3600)%24;
        var day = Math.floor(totalsecond/(3600*24));
        return '距这天有' + day + '天' + hour + '小时' + minute + '分' + second + '秒';
    }
    var str = getChIntv("1994-07-26");
    console.log(str); //距我的生日还有241天21小时27分56秒

把hh-mm-dd格式数字日期改成中文日期

  function getChsDate(datestr){
        var arr = datestr.split("-");
        var dic = ["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"]
        var year = " ";
        var month = " ";
        var day = " ";
        for(var i = 0; i < arr[0].length; i++){
            year+=dic[arr[0][i]];
        }
        month = dic[parseInt(arr[1])];
        day = dic[parseInt(arr[2])];
        return year + "年" +month +"月" + day +"日";
    }
    var str = getChsDate('2015-01-08');
    console.log(str);   // 二零一五年一月八日

 //写一个函数,
    // 参数为时间对象毫秒数的字符串格式,
    // 返回值为字符串。假设参数为时间对象毫秒数t,
    // 根据t的时间分别返回如下字符串
    //刚刚( t 距当前时间不到1分钟时间间隔)
//    3分钟前 (t距当前时间大于等于1分钟,小于1小时)
//    8小时前 (t 距离当前时间大于等于1小时,小于24小时)
//    3天前 (t 距离当前时间大于等于24小时,小于30天)
//    2个月前 (t 距离当前时间大于等于30天小于12个月)
//    8年前 (t 距离当前时间大于等于12个月)
    function friendlyDate(time){
        var  now =Date.now();
        var interval=Math.abs(now-time);
        if(interval < 1000*60){
            return '刚刚';
        }else if( interval<1000*60*60){
            return "3分钟前";
        }else if(interval<1000*60*60*24){
            return "8小时前";
        }else if(interval<1000*60*60*24*30){
            return "3天前";
        }else if(interval<1000*60*60*24*30*12){
            return "2个月前";
        }else{
            return " 8年前";
        }
    }
    var str = friendlyDate( '10000001484286699422' );
     console.log(str); //  1分钟前
    var str2 = friendlyDate('10000001483941245793');
    console.log(str2); //4天前

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢手机官网 版权所有