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所示。
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时到指定日期之间的毫秒总数。
在表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时至今的毫秒数,主要用来计算两个日期相差的毫秒数,并将其转换成要求的时间表示等,就可以计算过去了多少天或者实现倒计时的功能.
任务分析:
使用对话框按照格式要求,输入出生日期,使用Date对象格式化日期
创建当前的日期对象
使用日期对象的getTime()方法来获取时间戳
将这两个数相减,就得到一共经历了多少毫秒数
```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年的第几周?
// 现在是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+"周!");
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>
查找字符串方法 查找字符串方法是开发中经常用到的方法,在JavaScript中提供了4种查找字符串的方法,包括charAt()、charCodeAt()、indexOf()、lastIndexOf()。
返回指定位置的字符,第一个字符的位置从0开始
相对于使用带[]的索引查找指定字符,charAt()方法的性能更好。我们通常使用这个方法返回某个位置的字符,然后对获取的字符进行判断,