09-Math和Date
码路教育 6/29/2022
# 1 - Math
# 1.1 创建方式
Math是一个内置对象(不是一个构造函数),它拥有一些数学常数属性和数学函数方法
常见的属性:
- Math.PI:圆周率,约等于 3.14159;
常见的方法:
- Math.floor:向下舍入取整
- Math.ceil:向上舍入取整
- Math.round:四舍五入取整
- Math.random:生成0~1的随机数(包含0,不包含1)
- Math.pow(x, y):返回x的y次幂
# 2 - Date
# 2.1 关于时间的基本认识
- 最初,人们是通过观察太阳的位置来决定时间的,但是这种方式有一个最大的弊端就是不同区域位置大家使用的时间是不一致的,相互之间没有办法通过一个统一的时间来沟通、交流。
- 之后,人们开始制定的标准时间是英国伦敦的皇家格林威治( Greenwich )天文台的标准时间(刚好在本初子午线经过的地方),这个时间也称之为GMT(Greenwich Mean Time),其他时区根据标准时间来确定自己的时间,往东的时区(GMT+hh:mm),往西的时区(GMT+hh:mm);
- 但是,根据公转有一定的误差,也会造成GMT的时间会造成一定的误差,于是就提出了根据原子钟计算的标准时间UTC(Coordinated Universal Time)
- 目前GMT依然在使用,主要表示的是某个时区中的时间,而UTC是标准的时间。
# 2.2 使用Date来表示和处理时间
//创建Date对象
//当前时间- Fri ·May 13 2022∶15:22:53·GWT+0800(伊尔库茨克标准时间)
var date1 = new Date()
//传入的是毫秒数,表示从1970-01-01-00:00:00 UTC ·经过的毫秒数
var date2 = new Date(1000)
//传入的是dateString, 日期的字符串值
var date3 = new Date("2022-08-08")
// new Date(year , monthIndex [ , day [, hours [,minutes [ , seconds· [ , milliseconds]]]]])
var date4 = new Date(2022,08,08,08, 08,08,08)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
dateString时间的表示方式
- 日期的表示方式有两种:RFC 2822 标准 或者 ISO 8601 标准。
- 默认打印的时间格式是RFC 2822标准的
- 利用toISOString()将其转化成ISO 8601标准的
- YYYY:年份,0000 ~ 9999
- MM:月份,01 ~ 12
- DD:日,01 ~ 31
- T:分隔日期和时间,没有特殊含义,可以省略
- HH:小时,00 ~ 24
- mm:分钟,00 ~ 59
- ss:秒,00 ~ 59
- .sss:毫秒
- Z:时区
Date获取信息的方法:
- getFullYear():获取年份(4 位数)
- getMonth():获取月份,从 0 到 11;
- getDate():获取当月的具体日期,从 1 到 31;
- getHours():获取小时;
- getMinutes():获取分钟;
- getSeconds():获取秒钟;
- getMilliseconds():获取毫秒;
获取某周中的星期几:
- getDay():获取一周中的第几天,从 0(星期日)到 6(星期六);
Date获取Unix时间戳:
- Unix 时间戳:它是一个整数值,表示自1970年1月1日00:00:00 UTC以来的毫秒数。
- 方式一:new Date().getTime()
- 方式二:new Date().valueOf()
- 方式三:+new Date()
- 方式四:Date.now()
Date.parse方法:
- Date.parse(str) 方法可以从一个字符串中读取日期,并且输出对应的Unix时间戳。。
- 作用等同于 new Date(dateString).getTime() 操作;
- 需要符合 RFC2822 或 ISO 8601 日期格式的字符串;
- 其他格式也许也支持,但结果不能保证一定正常;
- 如果输入的格式不能被解析,那么会返回NaN;