javascript date php date,JavaScript Date 知识浅析

Date函数

new Date()

Date 对象会自动把当前日期和时间保存为其初始值。

date.getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。

date.getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。周日是0。

date.getMonth()

从 Date 对象返回月份 (0 ~ 11)。

date.getFullYear()

从 Date 对象以四位数字返回年份

date.getHours()

返回 Date 对象的小时 (0 ~ 23)。

date.getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。

date.getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。

date.getMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。

date.getTime()

返回 1970 年 1 月 1 日至今的毫秒数。

date.getTimezoneOffset()

返回格林威治时间(GMT 或 UTC)和本地时间之间的时差,以分钟为单位。返回之所以以分钟计,而不是以小时计,原因是某些

国家所占有的时区甚至不到一个小时的间隔。

date.getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

date.getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。周日是0。

date.getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。

date.getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。

date.getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。

date.getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。

date.getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

date.getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。

Date.parse(string)

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

date.setDate(int)

设置 Date 对象中月的某一天 (1 ~ 31)。返回调整过的日期的毫秒表示。

date.setMonth(month[, day])

设置 Date 对象中月份 (0 ~ 11)。day参数可选,表示该月的某一天介于 1 ~ 31 之间。

date.setFullYear(year[, month, day])

设置 Date 对象中的年份(四位数字)。month参数可选,表示月份介于 0 ~ 11 之间。day参数可选,表示该月的某一天介于 1 ~ 31 之间。

date.setHours(hours[, minutes, seconds, milliseconds])

设置 Date 对象中的小时 (0 ~ 23)。minutes参数可选,表示分钟数介于 0 ~ 59 之间。seconds参数可选,表示分钟数介于 0

~ 59 之间。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setMinutes(minutes[, seconds, milliseconds])

设置 Date 对象中的分钟 (0 ~ 59)。seconds参数可选,表示分钟数介于 0 ~ 59 之间。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setSeconds(seconds[, milliseconds])

设置 Date 对象中的秒钟 (0 ~ 59)。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setMilliseconds(int)

设置 Date 对象中的毫秒 (0 ~ 999)。

date.setTime(long)

设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。以毫秒形式表示日期可以使它独立于时区。

date.setUTCDate(int)

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

date.setUTCMonth(minutes[, seconds, milliseconds])

根据世界时设置 Date 对象中的月份 (0 ~ 11)。seconds参数可选,表示分钟数介于 0 ~ 59 之间。milliseconds参数可选,表

示分钟数介于 0 ~ 999 之间。

date.setUTCFullYear(year[, month, day])

根据世界时设置 Date 对象中的年份(四位数字)。month参数可选,表示月份介于 0 ~ 11 之间。day参数可选,表示该月的

某一天介于 1 ~ 31 之间。

date.setUTCHours(hours[, minutes, seconds, milliseconds])

根据世界时设置 Date 对象中的小时 (0 ~ 23)。minutes参数可选,表示分钟数介于 0 ~ 59 之间。seconds参数可选,表示分

钟数介于 0 ~ 59 之间。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setUTCMinutes(minutes[, seconds, milliseconds])

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。seconds参数可选,表示分钟数介于 0 ~ 59 之间。milliseconds参数可选,表

示分钟数介于 0 ~ 999 之间。

date.setUTCSeconds(seconds[, milliseconds])

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setUTCMilliseconds(int)

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

date.toString()

把 Date 对象转换为字符串。

date.toTimeString()

把 Date 对象的时间部分转换为字符串。

date.toDateString()

把 Date 对象的日期部分转换为字符串。

date.toUTCString()

根据世界时,把 Date 对象转换为字符串。

date.toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。

date.toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。

date.toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。

Date.UTC(year,month,day[,hour,minute,second,milliseconds])

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。年月日必填,时分秒毫秒都是选填的。

date.valueOf()

返回 Date 对象的原始值。与 Date.getTime 返回的值相等。即 1970 年 1 月 1 日至今的毫秒数。

body {

font-size:14px;

}

function write(name, value) {

document.write(name + " = " + value + "
");

}

var date = new Date();//Date 对象会自动把当前日期和时间保存为其初始值。

write("new Date()", date);

write("date.getDate()", date.getDate());//从 Date 对象返回一个月中的某一天 (1 ~ 31)。

write("date.getDay()", date.getDay());//从 Date 对象返回一周中的某一天 (0 ~ 6)。周日是0。

write("date.getMonth()", date.getMonth());//从 Date 对象返回月份 (0 ~ 11)。

write("date.getFullYear()", date.getFullYear());//从 Date 对象以四位数字返回年份。

write("date.getHours()", date.getHours());//返回 Date 对象的小时 (0 ~ 23)。

write("date.getMinutes()", date.getMinutes());//返回 Date 对象的分钟 (0 ~ 59)。

write("date.getSeconds()", date.getSeconds());//返回 Date 对象的秒数 (0 ~ 59)。

write("date.getMilliseconds()", date.getMilliseconds());//返回 Date 对象的毫秒(0 ~ 999)。

write("date.getTime()", date.getTime());//返回 1970 年 1 月 1 日至今的毫秒数。

write("date.getTimezoneOffset()/60", date.getTimezoneOffset()/60);//返回格林威治时间(GMT 或 UTC)和本地时间之间的时差,以分钟为单位。返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。

write("date.getUTCDate()", date.getUTCDate());//根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

write("date.getUTCDay()", date.getUTCDay());//根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。周日是0。

write("date.getUTCMonth()", date.getUTCMonth());//根据世界时从 Date 对象返回月份 (0 ~ 11)。

write("date.getUTCFullYear()", date.getUTCFullYear());//根据世界时从 Date 对象返回四位数的年份。

write("date.getUTCHours()", date.getUTCHours());//根据世界时返回 Date 对象的小时 (0 ~ 23)。

write("date.getUTCMinutes()", date.getUTCMinutes());//根据世界时返回 Date 对象的分钟 (0 ~ 59)。

write("date.getUTCSeconds()", date.getUTCSeconds());//根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

write("date.getUTCMilliseconds()", date.getUTCMilliseconds());//根据世界时返回 Date 对象的毫秒(0 ~ 999)。

write("Date.parse(string)", Date.parse(date.toString()));//返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

write("date.setDate(int)", date.setDate(1));//设置 Date 对象中月的某一天 (1 ~ 31)。返回调整过的日期的毫秒表示。

write("date.setMonth(int)", date.setMonth(0));//设置 Date 对象中月份 (0 ~ 11)。

write("date.setFullYear(int)", date.setFullYear(2017));//设置 Date 对象中的年份(四位数字)。

write("date.setHours(int)", date.setHours(0));//设置 Date 对象中的小时 (0 ~ 23)。

write("date.setMinutes(int)", date.setMinutes(0));//设置 Date 对象中的分钟 (0 ~ 59)。

write("date.setSeconds(int)", date.setSeconds(0));//设置 Date 对象中的秒钟 (0 ~ 59)。

write("date.setMilliseconds(int)", date.setMilliseconds(0));//设置 Date 对象中的毫秒 (0 ~ 999)。

write("date.setTime(long)", date.setTime(Date.UTC(2017,0,1)));//设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。以毫秒形式表示日期可以使它独立于时区。

write("date.setUTCDate(int)", date.setUTCDate(1));//根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

write("date.setUTCMonth(int)", date.setUTCMonth(0));//根据世界时设置 Date 对象中的月份 (0 ~ 11)。

write("date.setUTCFullYear(int)", date.setUTCFullYear(2017));//根据世界时设置 Date 对象中的年份(四位数字)。

write("date.setUTCHours(int)", date.setUTCHours(0));//根据世界时设置 Date 对象中的小时 (0 ~ 23)。

write("date.setUTCMinutes(int)", date.setUTCMinutes(0));//根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

write("date.setUTCSeconds(int)", date.setUTCSeconds(0));//根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

write("date.setUTCMilliseconds(long)", date.setUTCMilliseconds(0));//根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

write("date.toString()", date.toString());//把 Date 对象转换为字符串。

write("date.toTimeString()", date.toTimeString());//把 Date 对象的时间部分转换为字符串。

write("date.toDateString()", date.toDateString());//把 Date 对象的日期部分转换为字符串。

write("date.toUTCString()", date.toUTCString());//根据世界时,把 Date 对象转换为字符串。

write("date.toLocaleString()", date.toLocaleString());//根据本地时间格式,把 Date 对象转换为字符串。

write("date.toLocaleTimeString()", date.toLocaleTimeString());//根据本地时间格式,把 Date 对象的时间部分转换为字符串。

write("date.toLocaleDateString()", date.toLocaleDateString());//根据本地时间格式,把 Date 对象的日期部分转换为字符串。

write("Date.UTC(year,month,day[,hour,minute,second,milliseconds])", Date.UTC(2017,0,1,0,0,0));//根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。年月日必填,时分秒毫秒都是选填的。

write("date.valueOf()", date.valueOf());//返回 Date 对象的原始值。与 Date.getTime 返回的值相等。即 1970 年 1 月 1 日至今的毫秒数。

格式化Date

由于JS本身并不提供格式化日期的函数。因此必须借助prototype属性来添加自定义的日期格式化方法。

/*

年(y)可以用 1-4 个占位符

月(M)、日(d)、时(H,24时)、时(h,12时)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符

毫秒(S)只能用 1 个占位符(是 1-3 位数字)

AM或PM只能用 1 个占位符(是 2 位英文)

上午或下午(T)只能用 1 个占位符(是 2 位中文)

星期(E)可以用 1-3 个占位符

季度(q)只能用 1 个占位符(是 1 位数字)

*/

Date.prototype.format = function(fmt) {

var map = {

"M+" : this.getMonth() + 1, //月

"d+" : this.getDate(), //日

"H+" : this.getHours(), //24时

/*

上午12时只代表当天上午的12时,下午的12时代表当天下午的12时,

0时代表第二天的开始,即前面一天12时已过0时开始计算新一天的时间,

虽然说时间上跟前面那一天下午12时重合,但日期已经发生更改,所以不能说0时就是12时

*/

"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12,//12时

"m+" : this.getMinutes(), //分

"s+" : this.getSeconds(), //秒

"S" : this.getMilliseconds(), //毫秒

"t" : this.getHours() < 12 ? "AM" : "PM",

"T" : this.getHours() < 12 ? "上午" : "下午",

};

var week = {

"0" : "日",

"1" : "一",

"2" : "二",

"3" : "三",

"4" : "四",

"5" : "五",

"6" : "六",

}

var quarter = {

"0" : "一",

"1" : "二",

"2" : "三",

"3" : "四",

}

if(/(y+)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));

}

if(/(E+)/.test(fmt)) {

var weekPreStr;

switch(RegExp.$1.length) {

case 1:

weekPreStr = "";

break;

case 2:

weekPreStr = "周";

break;

default:

weekPreStr = "星期";

break;

}

fmt = fmt.replace(RegExp.$1, weekPreStr + week[this.getDay()]);

}

if(/(q)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, quarter[Math.floor(this.getMonth() / 3)]);

}

for(var key in map) {

if(new RegExp("(" + key + ")").test(fmt)) {

fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? map[key] : ("00" + map[key]).substr((map[key]+"").length));

}

}

return fmt;

}

function write(str) {

document.write(str + "
");

}

var date = new Date();

write(date.toString());

write(date.toUTCString());

write(date.toLocaleString());

write("");

write(date.format("yy-M-d t h:m:s.S"));

write(date.format("yyyy-MM-dd hh:mm:ss.S"));

write(date.format("yyyy-MM-dd E HH:mm:ss"));

write(date.format("yyyy-MM-dd EE hh:mm:ss"));

write(date.format("yyyy-MM-dd EEE hh:mm:ss"));

write(date.format("yyyy年MM月dd日 EEE hh:mm:ss 第q季度"));

对Date设置超出范围的参数

即使设置了超出范围的参数也不会报错,只会计算“最大合法值”与“超出值”相加得到的date。

var date = new Date();

date.setFullYear(2016,12,32, 0, 0, 0);

document.write(date);

a8f33b633001c86e6602192f84c8623e.png

比较Date

var date1 = new Date();

var date2 = new Date();

date1.setTime(Date.UTC(2017,0,1));

date2.setTime(Date.UTC(2016,11,31));

document.write("date1 = " + date1.toLocaleString() + "
");

document.write("date2 = " + date2.toLocaleString() + "
");

document.write("date1 - date2 = " + (date1 - date2) + "毫秒
");

document.write("date1 - date2 = " + (date1 - date2)/1000/60/60 + "小时
");

document.write("date1 > date2 = " + (date1 > date2) + "
");

document.write("date1 < date2 = " + (date1 < date2) + "
");

3e745585801503b02cc94669f6fc1b15.png

以上所述是小编给大家介绍的JavaScript Date 知识浅析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

更多JavaScript Date 知识浅析相关文章请关注PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

16字节 oracle md5,Oracle中的MD5加密

因为要用到MD5加密&#xff0c;所以在网上搜了一下相关资料&#xff0c;并进行仔细研究。其核心就是MD5编码的数据包函数&#xff1a;DBMS_OBFUSCATION_TOOLKIT.M因为要用到MD5加密&#xff0c;所以在网上搜了一下相关资料&#xff0c;并进行仔细研究。其核心就是MD5编码的数据…

link linux 跨设备,Linux中的两种link方式

Linux系统中包括两种链接方式&#xff1a;硬链接(hard link)和符号链接(symbolic link)&#xff0c;其中符合链接就是所谓的软链接(soft link)&#xff0c;那么两者之间到底有什么区别呢&#xff1f;inode在Linux系统中&#xff0c;内核为每一个新创建的文件分配一个inode&…

linux设置超链接,帮助-链接 - Linux Kernel Newbies

this page is outdated and needs to be fixed参考链接形式语法备注内部链接WikiNameCamelCase page name内部自由链接["Page"] or ["free link"]可配置函数内部子页面链接/SubPage or ["/Sub page"]相对于上一级页面外部链接http://example.net…

linux 文件系统cache,终于找到一篇详解Linux文件系统Cache的文章

级别&#xff1a; 初级2006 年 5 月 11 日文件 Cache 管理是 Linux 内核中一个很重要并且较难理解的组成部分。本文详细介绍了 Linux内核中文件 Cache 管理的各个方面&#xff0c;希望能够对开发者理解相关代码有所帮助。自从诞生以来&#xff0c;Linux 就被不断完善和普及&…

七桥问题c语言程序数据结构,数据结构与算法学习——图论

什么是图&#xff1f;在计算机程序设计中&#xff0c;图结构也是一种非常常见的数据结构但是图论其实是一个非常大的话题图结构是一种与树结构有些相似的数据结构图论是数学的一个分支&#xff0c;并且在数学概念上&#xff0c;树是图的一种它以图为研究对象&#xff0c;研究顶…

c语言式表白,c语言表白必备

c语言表白必备七夕情人节表白必备&#xff0c;多颜色心形展示看图#include#include#include#include #define r 10#define R 172int main(){int i;printf("我");fflush(stdout); //强制刷新缓存&#xff0c;输出显示Sleep(1000);printf("自");fflush(stdou…

android中gradle的作用,Gradle 之 Android 中的应用

在上一篇文章中 Gradle 之语言基础 Groovy 主要介绍了 Groovy 的基础语法(如果没有 Groovy 的基础&#xff0c;建议先看看上篇文章&#xff0c;如果可以动手敲一下里面的示例代码就更好不过了)&#xff0c;也是为本篇文章打基础的。本篇文章主要介绍 Gradle 在 Android 中的应用…

自己写的android apk反编译,获取Android自己写好了的apk以及反编译

今天&#xff0c;我们先说一下&#xff0c;获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的&#xff0c;今天我们就以拿到Android自带的短信管理器的apk为例子你可能有疑问&#xff0c;为什么要那么麻烦&#xff0c;从系统来拿&#xff0c;还要反编译&#x…

一加7pro系统更新android10,一加OnePlus7T Pro官方安卓10.0稳定版出厂系统固件升级更新包...

咱们的这个一加OnePlus7T Pro手机的最新稳定版系统包也是在这里来分享一下了&#xff0c;这个稳定版本的系统包是安卓10稳定版的&#xff0c;也是第一个版本的&#xff0c;系统包大小是3.2G&#xff0c;系统方面主要是全新的UI设计&#xff0c;轻快流畅操作体验&#xff0c;更多…

5元素升级android6,升级你的app以支持高长宽比的新旗舰

为了呈现更好的视觉效果&#xff0c;许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了自己的新旗舰Samsung Galaxy S8&#xff0c;长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6&#xff0c;屏幕长宽比达到了18:9。(左) maximum aspect ratio为16:9的app…

CCS太阳光准直系统使用积分球均匀光源

CCS太阳光准直系统的应用范围广泛&#xff0c;包括太阳光辐射测量、光学遥感仪器研制与标定、均匀光源的推广使用等方面。通过使用CCS太阳光准直系统&#xff0c;可以准确地模拟太阳光&#xff0c;并对各种光学仪器进行校准和标定&#xff0c;从而提高测量精度和稳定性。 CCS太…

js怎么制作html的主题,用HTML和CSS以及JS制作简单的网页菜单界面的代码

写ABROAD项目用到了标签这个东东&#xff0c;其实标签在WEB上到处可见&#xff0c;图中就依次显示了DCC文章发布器、ABROAD后台添加数据、百度图片搜索、sf发布博客文章时贴标签的样式——标签就像浏览器里原生的checkbox一样&#xff0c;不过checkbox实在太丑了&#xff0c;就…

哔哩网站登录界面html代码,仿哔哩哔哩网页模板设计

【实例简介】【实例截图】【核心代码】bilibili├── Home.html├── Login.html├── Register.html├── css│ ├── bootstrap.min.css│ └── css.css├── forget the password.html├── img│ ├── 001.png│ ├── 002.png│ ├── 003.png│ …

2021高考成绩查询大连,2021年大连高考各高中成绩及本科升学率数据排名及分析...

一、大连高考各高中成绩及本科升学率数据2020年辽宁省普通高等学校招生文化课录取控制分数线普通类 文史特殊类型招生控制分数线&#xff1a;567分本科控制分数线&#xff1a;472分专科(高职、提前专科)控制分数线&#xff1a;150分普通类 理工特殊类型招生控制分数线&#x…

编写了html怎么测试,如何将测试结果写入HTMLTestRunner生成的报告标题中

HTMLTestRunner生成测试报告时&#xff0c;报告的标题在运行前就已经写死在代码了&#xff0c;假如我现在需要在执行完毕后&#xff0c;根据执行结果&#xff0c;把执行的状态写在标题里面&#xff0c;类似的效果如图&#xff1a;标题如果有一条执行错误的&#xff0c;就在后面…

编码 data text html c,谁说前端不需要懂二进制

作者&#xff1a;全栈成长之路 公号 / 山月行作为一名前端&#xff0c;在工作中也会遇到很多有关二进制处理的需求&#xff0c;如 EXCEL 表格的导出&#xff0c;PDF 的生成&#xff0c;多个文件的打包&#xff0c;音频的处理。从前后端整体上来说前端代表 UI 层&#xff0c;它的…

计算机联用测定无机盐溶解热测试题,计算机联用测定无机盐溶解热

计算机联用测定无机盐溶解热计算机联用测定无机盐溶解热一 实验目的1. 用量热计测定KCl的积分溶解热。2. 掌握量热实验中温差校正方法以及与计算机联用测量溶解过程动态曲线的方法。二 实验原理盐类的溶解过程通常包含着两个同时进行的过程&#xff1a;晶格的破坏和离子的溶剂化…

初中计算机考试用什么软件,初中信息技术《PowerPoint软件》考过啥

教师资格考试的试题中&#xff0c;不会缺少办公软件的身影&#xff0c;而办公软件作为最重要的文字处理工具&#xff0c;都考过哪些题目呢?该如何学习呢?中公教师给您指引方向。一、考题集锦1.PowerPoint中&#xff0c;为了让海龟按图1所示路线运动&#xff0c;应采用的方法是…

达内计算机毕业好找工作吗,大学生学什么好找工作 转行IT行业需要多久

6月毕业季&#xff0c;工作好找吗&#xff1f;9月招聘季&#xff0c;求职顺利吗&#xff1f;一直以来工作难找、人难招究竟难在哪&#xff1f;而另一边&#xff0c;企业求贤若渴&#xff0c;主动抢夺优秀人才&#xff01;却有很多毕业生抱怨求职难&#xff0c;找不到理想的工作…

ajax数据交互代码,Django中使用jquery的ajax进行数据交互的实例代码

jquery框架中提供了$.ajax、$.get、$.post方法&#xff0c;用于进行异步交互&#xff0c;由于Django中默认使用CSRF约束&#xff0c;推荐使用$.get示例&#xff1a;实现省市区的选择最终实现效果如图&#xff1a;将jquery文件拷贝到static/js/目录下打开booktest/views.py文件&…