5.18 Js基础语法(data和math)

目标

  • 创建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;

六、作业

  1. 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)

三、作业

  • 点名器(随机抽取班上一名同学)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值