5.2JavaScript对象-内置Date对象

作者: liufeisheng

创建时间: 2024-03-27 06:41:59


5.2.1 Object对象类

 Object对象是JavaScript的基类,从表5-1中可以看出,所有的JavaScript内置对象(类)都是从基类Object派生(继承)过来的。Object类包含的属性和方法可以被所有JavaScript内置对象(类)来继承。Object对象的属性和方法如表5-2和表5-3所示。

image.png

5.2.2 Date对象类——创建Date对象

在使用Date对象类时,必须先使用new关键字创建一个Date对象。创建Date对象的常见方式有以下4种。

 创建当前时刻的Date对象

var today=new Date();

 利用上面的代码创建的是当前系统日期和时间的Date对象,表示此时此刻。

创建指定日期的Date对象

var time = newDate("2023-3-1"); var time= new Date("2023/3/1"); var time=new Date("2023,3,1");

   上面的参数都指2023年3月1日,而且这个对象的时、分钟、秒、毫秒值都为0,这3种参数的区别在于使用不同的连接符号表示日期,指定的日期以字符串的方式表示。除此之外,还可以不以字符串的形式出现,而是以数字的方式表示。

创建指定日期和时间的Date对象

var time=newDate("2023,3,1,10:20:30:50"); var time=new Date(2023,3,1,10,20,30,50);

   具体表示年、月、日、时、分、秒、毫秒,如上例即2023年3月1日10时20分30秒50毫秒。创建时参数可以是字符串也可以是数字。

通过时间戳创建Date对象

var time=new Date(milliseconds);

 表示创建一个新的Date对象,其中milliseconds为从1970年1月1日0时到指定日期之间的毫秒总数。

image.png

在表5-4中,方法分为3类,需要格外注意的是get系列的获取操作中的3个方法,具体解释如下所示。

(1)getDay()方法,它的返回值是0~6,其中0表示星期天、1表示星期一、2表示星期二、3表示星期三……….

(2)getMonth()方法,它的返回值是0~11,0表示1月,1表示2月,依次类推,11表示12月

(3)getTime()方法,用来获取时间戳,代表的是1970年1月1日0时至今的毫秒数,主要用来计算两个日期相差的毫秒数,并将其转换成要求的时间表示等,就可以计算过去了多少天或者实现倒计时的功能.

image.png

任务分析:

使用对话框按照格式要求,输入出生日期,使用Date对象格式化日期

创建当前的日期对象

使用日期对象的getTime()方法来获取时间戳

将这两个数相减,就得到一共经历了多少毫秒数

image.png

```var today = new Date(); var year = today.getFullYear(); var month = today.getMonth()+1; var date = today.getDate() var week = today.getDay();

var res = (week) => { var result; switch(week){ case 1: result = "星期一"; break; case 2: result = "星期二"; break; case 3: result = "星期三"; break; case 4: result = "星期四"; break; case 5: result = "星期五"; break; case 6: result = "星期六"; break; default: result = "星期日"; break; } return result; }; // document.write("今天是"+year+"年"+month+"月"+date+"日"+res(week)); document.write(现在是${year}年${month}月${date}${res(week)});


<img src="/static/img/5eb9085ce43100e979dfe649b594df4a.image.webp" alt="image.png">



<img src="/static/img/f214357a709d04e454790754d41102dd.image.webp" alt="image.png">


<img src="/static/img/41c7cd54288e60b3bc6dbddd4874559b.image.webp" alt="image.png">

```var yourdate = prompt("请输入日期");
var date1 = new Date(yourdate);
var date2 = new Date();
var time1 = date1.getTime();
var time2 = date2.getTime();
var result = time2-time1;

// console.log(date1);
// console.log(date2);
// console.log(time1);
// console.log(time2);
// console.log(result);


var numdays = 24*60*60*1000;
var alldays = parseInt(result/numdays);
alert("你们一起经过了"+alldays+"天!");

//  现在是2024年的第几周?  

image.png

//  现在是2024年的第几周?  
var date1 = new Date("2024-1-1");
var date2 = new Date();
var time1 = date1.getTime();
var time2 = date2.getTime();
var result = time2-time1;

// console.log(date1);
// console.log(date2);
// console.log(time1);
// console.log(time2);
// console.log(result);


var numweeks = 7*24*60*60*1000;
var allweeks = parseInt(result/numweeks);
alert("现在是2024年的第"+allweeks+"周!");

image.png

5.2.3 String对象类

在使用String对象时,可以用2种方法来创建 使用new关键字来创建String对象 ``` var myStr=new String("字符串对象测试");

``` 在创建String对象时,String()可以有参数,也可以没有参数。如果有参数,则会把参数作为该对象的初始值

在使用String对象时,可以用2种方法来创建 直接使用字符串来进行赋值

var myStr="字符串对象测试";

任何一个字符串变量(用单引号或双引号括起来的字符串)都是一个String对象,可以将其直接作为对象来使用,只要在字符串变量的后面加“.”,便可以直接调用String对象的属性和方法。

字符串与String对象的不同在于二者的typeof值,前者的是string类型,后者的是object类型。

String对象只有一个属性,就是length属性,用来返回字符串的长度,如下例所:计算字符串的长度。

<script type="text/javascript">
     var mystr=new String("宝剑锋从磨砺出,梅花香自苦寒来");
     strLength=mystr.length;
     document.write(`“${mystr}”字符串的长度为   ${strLength}`);
</script>

image.png

查找字符串方法 查找字符串方法是开发中经常用到的方法,在JavaScript中提供了4种查找字符串的方法,包括charAt()、charCodeAt()、indexOf()、lastIndexOf()。

返回指定位置的字符,第一个字符的位置从0开始

相对于使用带[]的索引查找指定字符,charAt()方法的性能更好。我们通常使用这个方法返回某个位置的字符,然后对获取的字符进行判断,

image.png