Date对象和String对象

145 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情

一。Date对象

1。 Date 对象用于处理日期和时间

①。new Date() 可以理解为 构造函数Date使用new实例化一个日期对象a,点击刷新日期会变动

   <script>
    let a=new Date();
    document.write(a);
</script>

1.png

②。也可以在new Date()里面自定义时间,不过自定义的时间是固定的,刷新页面也不会动,最好是使用字符串格式自定义时间,包容性比较强。

  <script>
    let a=new Date('2022,4,25 14:54:00');
    document.write(a);
</script>

2.png

③。如果你的new Date传的是 数字类型 使用逗号分割,月份是从0 开始算的 0 表示1月 1表示2月 2表示3月 3表示4月 以此类推

  <script>
    let a=new Date(2022,3,25, 14,54,00);
    document.write(a);
</script>

12.png

④。

getFullYear():返回对象年份,4位数

getMonth():返回对象月份,0-11,0代表1,以此类推

getDate():返回对象日,1-31

getDay():返回对象周几,0-6之间,0表示周日

getHours():返回对象小时数,0-23之间

getMinutes():返回对象分钟数,0-59之间

         <script>

    let a = new Date('2022-1-25 10:48:45')
    document.write(a+'<br>');
    // 返回对象年份,4位数
    document.write('年:'+a.getFullYear() + '<br>')
    // 返回对象月份,0-11,0代表1,以此类推
    document.write('月:'+a.getMonth() + '<br>')
    // 返回对象日,1-31
    document.write('日:'+a.getDate()+'<br>')
    // 返回对象周几,0-6之间,0表示周日
    document.write('星期几:'+a.getDay()+'<br>')
    // 返回对象小时数,0-23之间
    document.write('小时:'+a.getHours()+'<br>')
    // 返回对象分钟数,0-59之间
    document.write('分:'+a.getMinutes()+'<br>')
    // 返回对象秒数,0-59之间
    document.write('秒:'+a.getSeconds()+'<br>')
    
</script>

QQ截图20220425150849.png

练习一。输出当前日期n天之后是星期几

     <script>
    let n=prompt('请输入你想查询多少天的日期');
    // 当前日期
    let b=new Date();
    let c=b.getFullYear();
    let d=b.getMonth();
    let e=b.getDate()+n;
    let f=new Date(c,d,e)
    var arr = ['周日', '周一', '周二', '周三', '周四', '周五', '周六',]
    // f确定了年月日,根据年月日转化为周几
    document.write('当前日前'+n+'天后为'+arr[f.getDay()])
</script>

4.png

二。时间戳

1.利用new Date()创建当前时间,然后用getTime获取

2.直接用Date.now()获取

3.通过毫秒数也可以获取当前时间

<script>
    /* 第一种获取毫秒数的方式 */
    let oDate = new Date();
    document.write( '1970年1月1日到现在的毫秒数:'+oDate.getTime() +'<br>');
    /* 第二种获取毫秒数的方式 */
    /* 构造函数本身有个方法叫now 执行之后可以获取1970年1月1日到现在的毫秒数 */
    // 推荐使用Date.now()
    document.write( '1970年1月1日到现在的毫秒数:'+Date.now() );
</script>

5.png

     <script>
    let a=new Date(1650873927021);
    document.write(a);
</script>

QQ截图20220425160623.png

练习二。

通过毫秒数生成日期对象

       <script>
      /* 通过毫秒数生成日期对象 */
      let t = new Date(1650772800000)
    let y = t.getFullYear();
    /* 月份是从0开始的 0 表示1月 */
    let m = t.getMonth()+1;
    let d = t.getDate();
    let h = t.getHours();
    let f = t.getMinutes();
    let s = t.getSeconds();
    let str = y+'年'+bu(m)+'月'+bu(d)+'日'+bu(h)+'点'+bu(f)+'分'+bu(s)+'秒';
    document.write(str);

    function bu(num){
    //  return 在函数中可以返回一个值 也会终止函数的继续执行 
         if(num<10){
            //  如果数字小于10则在数字前面加一个0
            return "0"+num;
         }else{
            return num;
         } 
        }
</script>

22.png

三。String 对象用于处理文本(字符串)

1.定义字符串的第一种方式:字面量的方式

  <script>
    let str='123'
    document.write(str)
</script>

123.png

2.定义字符串的第一种方式:定义一个字符串 可以使用构造函数的方式去实现

构造函数String实例化一个str字符串对象

 <script>
    let str=new String('123')
    document.write(str)
</script>

8.png

3.字符串的属性 length

①。字符串的长度:

 <script>
let a=('abcde')
document.write(a.length);
</script>

8.png

②。返回在指定位置的字符(注:字符串中第一个字符的下标是0)

    <script>
     let a=('abcde')
  let c =a.charAt(4);
   document.write(c)
</script>

5.png

③。indexOf() 返回某个指定的字符串值在字符串中首次出现的位置

   <script>
    let a = ('abcde')
    let c = a.indexOf('b');
    document.write(c)
</script>

56.png