目标
- 创建date对象
- 获取日期
- 创建日期
- 常用的数学方法
一、创建 Date 对象
什么是Date对象:Date对象用来处理日期和时间
Date 对象由新的 Date() 构造函数创建。
有 4 种方法创建新的日期对象:
- new Date()
- new Date(year, month, day, hours, minutes, seconds, milliseconds)
- new Date(milliseconds)
- new Date(date string)
1.1、new Date()
new Date() :Date对象会自动把当前日期和时间保存为其初始值:
var d = new Date();
日期对象是静态的。计算机时间正在滴答作响,但日期对象不会。
1.2、new Date(year, month, …)
new Date(year, month, …) 用指定日期和时间创建新的日期对象。
7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序):
var d = new Date(2018, 11, 24, 10, 33, 30, 0);
注释:JavaScript 从 0 到 11 计算月份。
一月是 0。十二月是11。
6个数字指定年、月、日、小时、分钟、秒:
var d = new Date(2018, 11, 24, 10, 33, 30);
5个数字指定年、月、日、小时和分钟:
var d = new Date(2018, 11, 24, 10, 33);
4个数字指定年、月、日和小时:
var d = new Date(2018, 11, 24, 10);
3 个数字指定年、月和日:
var d = new Date(2018, 11, 24);
2个数字指定年份和月份:
var d = new Date(2018, 11);
不能省略月份。如果只提供一个参数,则将其视为毫秒。
var d = new Date(2018);
上个世纪
一位和两位数年份将被解释为 19xx 年:
var d = new Date(99, 11, 24);
var d = new Date(9, 11, 24);
1.3、new Date(dateString)
new Date(dateString) 从日期字符串创建一个新的日期对象:
var d = new Date("October 13, 2014 11:13:00");
1.4、new Date(milliseconds)
JavaScript 将日期存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。零时间是 1970 年 1 月 1 日 00:00:00 UTC。
new Date(milliseconds) 创建一个零时加毫秒的新日期对象:
var d = new Date(0);
1970年 1 月 1 日加上100 000 000 000毫秒,大约是 1973 年 3 月 3 日:
var d = new Date(100000000000);
1970 年 1 月 1 日减去 100 000 000 000 毫秒大约是 1966 年 10 月 31 日:
var d = new Date(-100000000000);
1.5、显示日期
toUTCString() 方法将日期转换为 UTC 字符串(一种日期显示标准)。
协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。它从英文"Coordinated Universal Time"/法文"Temps Universel Cordonné"而来。
var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();
toDateString() 方法将日期转换为更易读的格式:
var d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();
二、JavaScript 获取日期方法
方法 | 描述 |
---|---|
getDate() | 以数值返回天(1-31) |
getDay() | 以数值获取一周中的某一天(0-6) |
getFullYear() | 获取四位的年(yyyy) |
getHours() | 获取小时(0-23) |
getMilliseconds() | 获取毫秒(0-999) |
getMinutes() | 获取分(0-59) |
getMonth() | 获取月(0-11) |
getSeconds() | 获取秒(0-59) |
getTime() | 获取时间(从 1970 年 1 月 1 日至今) |
getTime() 方法
getTime() 方法返回自 1970 年 1 月 1 日以来的毫秒数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getTime();
getFullYear() 方法
getFullYear() 方法以四位数字形式返回日期年份:
var d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear();
getMonth() 方法
getMonth() 以**数字(0-11)**返回日期的月份:
var d = new Date();
document.getElementById("demo").innerHTML = d.getMonth();
在 JavaScript 中,第一个月(1 月)是月号 0,因此 12 月返回月号 11。
您可以使用名称数组,并使用 getMonth() 将月份作为名称返回:
var d = new Date();
var months =
[
"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
document.getElementById("demo").innerHTML = months[d.getMonth()];
getDate() 方法
getDate() 方法以数字(1-31)返回日期的日:
var d = new Date();
document.getElementById("demo").innerHTML = d.getDate();
getHours() 方法
getHours() 方法以数字(0-23)返回日期的小时数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getHours();
getMinutes() 方法
getMinutes() 方法以数字(0-59)返回日期的分钟数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getMinutes();
getSeconds() 方法
getSeconds() 方法以数字(0-59)返回日期的秒数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getSeconds();
getMilliseconds() 方法
getMilliseconds() 方法以数字(0-999)返回日期的毫秒数:
var d = new Date();
document.getElementById("demo").innerHTML = d.getMilliseconds();
getDay() 方法
getDay() 方法以数字(0-6)返回日期的星期名(weekday):
var d = new Date();
document.getElementById("demo").innerHTML = d.getDay();
在 JavaScript 中,一周的第一天(0)表示“星期日”,即使世界上的一些国家认为周的第一天是“星期一”。
您可以使用名称数组,并使用 getDay() 将星期名作为名称返回:
var d = new Date();
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
document.getElementById("demo").innerHTML = days[d.getDay()];
三、JavaScript 设置日期方法
使用“设置日期”方法可以设置日期对象的日期值(年、月、日、小时、分钟、秒、毫秒)。
设置方法用于设置日期的某个部分。下面是最常用的方法(按照字母顺序排序):
方法 | 描述 |
---|---|
setDate() | 以数值(1-31)设置日 |
setFullYear() | 设置年(可选月和日) |
setHours() | 设置小时(0-23) |
setMilliseconds() | 设置毫秒(0-999) |
setMinutes() | 设置分(0-59) |
setMonth() | 设置月(0-11) |
setSeconds() | 设置秒(0-59) |
setTime() | 设置时间(从 1970 年 1 月 1 日至今的毫秒数) |
setFullYear() 方法
setFullYear() 方法设置日期对象的年份。这个例子设置为 2020 年:
<script>
var d = new Date();
d.setFullYear(2020);
document.getElementById("demo").innerHTML = d;
</script>
setFullYear() 方法可以选择设置月和日:
<script>
var d = new Date();
d.setFullYear(2020, 11, 3);
document.getElementById("demo").innerHTML = d;
</script>
setMonth() 方法
setMonth() 方法设置日期对象的月份(0-11):
<script>
var d = new Date();
d.setMonth(11);
document.getElementById("demo").innerHTML = d;
</script>
setDate() 方法
setDate() 方法设置日期对象的日(1-31):
<script>
var d = new Date();
d.setDate(15);
document.getElementById("demo").innerHTML = d;
</script>
setDate() 方法也可用于将天数添加到日期:
<script>
var d = new Date();
d.setDate(d.getDate() + 50);
document.getElementById("demo").innerHTML = d;
</script>
setHours() 方法
setHours() 方法设置日期对象的小时(0-23):
<script>
var d = new Date();
d.setHours(22);
document.getElementById("demo").innerHTML = d;
</script>
setMinutes() 方法
setMinutes() 方法设置日期对象的分钟(0-59):
<script>
var d = new Date();
d.setMinutes(30);
document.getElementById("demo").innerHTML = d;
</script>
setSeconds() 方法
setSeconds() 方法设置日期对象的秒数(0-59):
<script>
var d = new Date();
d.setSeconds(30);
document.getElementById("demo").innerHTML = d;
</script>
比较日期
日期可以很容易地进行比较。
下面的例子把今日与 2049 年 1 月 16 日进行比较:
var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2049, 0, 16);
if (someday > today) {
text = "今天在 2049 年 1 月 16 日之前";
} else {
text = "今天在 2049 年 1 月 16 日之后";
}
document.getElementById("demo").innerHTML = text;
六、作业
-
setInterval(function() { //每次要执行的代码 },时间:隔多少秒执行一次 1000代表一秒);
2.国庆倒计时
3.下个月1号是星期几**
Math对象
一、Math 对象
JavaScript Math 对象允许您对数字执行数学任务。
1.1、Math.round()
Math.round(x) 的返回值是 x 四舍五入为最接近的整数:
Math.round(6.8); // 返回 7
Math.round(2.3); // 返回 2
1.2、Math.pow()
Math.pow(x, y) 的返回值是 x 的 y 次幂:
Math.pow(8, 2); // 返回 64
1.3、Math.sqrt()
Math.sqrt(x) 返回 x 的平方根:
Math.sqrt(64); // 返回 8
1.4、Math.abs()
Math.abs(x) 返回 x 的绝对(正)值:
Math.abs(-4.7); // 返回 4.7
1.5、Math.ceil()
Math.ceil(x) 的返回值是 x ***上舍入***最接近的整数:
Math.ceil(6.4); // 返回 7
1.6、Math.floor()
Math.floor(x) 的返回值是 x 下舍入最接近的整数:
Math.floor(2.7); // 返回 2
1.7、Math.min() 和 Math.max()
Math.min() 和 Math.max() 可用于查找参数列表中的最低或最高值:
Math.min(0, 450, 35, 10, -8, -300, -78); // 返回 -300
Math.max(0, 450, 35, 10, -8, -300, -78); // 返回 450
1.8、Math.random()
Math.random() 返回介于 0(包括) 与 1(不包括) 之间的随机数:
Math.random(); // 返回随机数
Math.random() 总是返回小于 1 的数。
JavaScript 随机整数
Math.random() 与 Math.floor() 一起使用用于返回随机整数。
Math.floor(Math.random() * 10); // 返回 0 至 9 之间的数
Math.floor(Math.random() * 11); // 返回 0 至 10 之间的数
Math.floor(Math.random() * 100); // 返回 0 至 99 之间的数
Math.floor(Math.random() * 101); // 返回 0 至 100 之间的数
Math.floor(Math.random() * 10) + 1; // 返回 1 至 10 之间的数
Math.floor(Math.random() * 100) + 1; // 返回 1 至 100 之间的数
一个适当的随机函数
正如你从上面的例子看到的,创建一个随机函数用于生成所有随机整数是一个好主意。
这个 JavaScript 函数始终返回介于 min(包括)和 max(不包括)之间的随机数:
function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min) ) + min;}
这个 JavaScript 函数始终返回介于 min 和 max(都包括)之间的随机数:
function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min + 1) ) + min;}
方法 | 描述 |
---|---|
abs(x) | 返回数的绝对值。 |
acos(x) | 返回数的反余弦值。 |
asin(x) | 返回数的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 e 的指数。 |
floor(x) | 对数进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y) | 返回 x 和 y 中的最高值。 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 把数四舍五入为最接近的整数。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
toSource() | 返回该对象的源代码。 |
valueOf() | 返回 Math 对象的原始值。 |
1.9、Math 属性(常量)
JavaScript 提供了可由 Math 对象访问的 8 个数学常量:
Math.E // 返回欧拉指数(Euler's number)Math.PI // 返回圆周率(PI)Math.SQRT2 // 返回 2 的平方根Math.SQRT1_2 // 返回 1/2 的平方根Math.LN2 // 返回 2 的自然对数Math.LN10 // 返回 10 的自然对数Math.LOG2E // 返回以 2 为底的 e 的对数(约等于 1.414)Math.LOG10E // 返回以 10 为底的 e 的对数(约等于0.434)
三、作业
- 点名器(随机抽取班上一名同学)