JavaScript Date对象
Date对象的作用
在JavaScript中,Date对象提供了一系列对时间的操作。
由于方法实在是太多,所以这里不一一例举,而是只拿出常用的。
属性一览
属性描述
constructor
返回对创建该对象的函数的引用
prototype
允许向对象添加属性和方法
方法一览
方法描述
Date()
返回当日的日期和时间
getDate()
根据本地时从Date对象返回一个月中的某一天(1 ~ 31)
getDay()
根据本地时从Date对象返回一周中的某一天(1 ~ 6)
getFullYear()
根据本地时从 Date 对象以四位数字返回年份
getHours()
根据本地时返回 Date 对象的小时 (0 ~ 23)
getMilliseconds()
根据本地时返回 Date 对象的毫秒(0 ~ 999)
getMinutes()
根据本地时返回 Date 对象的分钟 (0 ~ 59)
getMonth()
根据本地时从Date对象返回月份(1 ~ 11)
getSeconds()
根据本地时返回 Date 对象的秒数 (0 ~ 59)
getTime()
根据本地时返回 1970 年 1 月 1 日至今的毫秒数
getTimezoneOffset()
返回本地时间与格林威治标准时间 (GMT) 的分钟差
getUTCDate()
根据世界时从 Date 对象返回月中的一天 (1 ~ 31)
getUTCDay()
根据世界时从 Date 对象返回周中的一天 (0 ~ 6)
getUTCFullYear()
根据世界时从 Date 对象返回四位数的年份
getUTCHours()
根据世界时返回 Date 对象的小时 (0 ~ 23)
getUTCMilliseconds()
根据世界时返回 Date 对象的毫秒(0 ~ 999)
getUTCMinutes()
根据世界时返回 Date 对象的分钟 (0 ~ 59)
getUTCMonth()
根据世界时从 Date 对象返回月份 (0 ~ 11)
getUTCSeconds()
根据世界时返回 Date 对象的秒钟 (0 ~ 59)
getYear()
弃用,返回在指定的日期根据当地时间。使用getFullYear()代替。
setDate()
根据本地时设置 Date 对象中月的某一天 (1 ~ 31)
setFullYear()
根据本地时设置 Date 对象中的年份(四位数字)
setHours()
根据本地时设置 Date 对象中的小时 (0 ~ 23)
setMilliseconds()
根据本地时设置 Date 对象中的毫秒 (0 ~ 999)
setMinutes()
根据本地时设置 Date 对象中的分钟 (0 ~ 59)
setMonth()
根据本地时设置 Date 对象中月份 (0 ~ 11)
setSeconds()
根据本地时设置 Date 对象中的秒钟 (0 ~ 59)
setTime()
根据本地时以毫秒设置 Date 对象
setUTCDate()
根据世界时设置 Date 对象中月份的一天 (1 ~ 31)
setUTCFullYear()
根据世界时设置 Date 对象中的年份(四位数字)
setUTCHours()
根据世界时设置 Date 对象中的小时 (0 ~ 23)
setUTCMilliseconds()
根据世界时设置 Date 对象中的毫秒 (0 ~ 999)
setUTCMinutes()
根据世界时设置 Date 对象中的分钟 (0 ~ 59)
setUTCMonth()
根据世界时设置 Date 对象中的月份 (0 ~ 11)
setUTCSeconds()
根据世界时设置 Date 对象中的秒钟 (0 ~ 59)
setYear()
弃用,设置为指定的日期根据当地时间。使用 setFullYear() 代替。
toDateString()
把 Date 对象的日期部分转换为字符串
toGMTString()
弃用,将日期转换为一个字符串,使用互联网格林尼治时间约定。使用 toUTCString() 代替。
toLocalDateString()
根据本地时间格式,把 Date 对象的日期部分转换为字符串
toLocalFormat()
将日期转换为一个字符串,使用格式化字符串。
toLocalString()
根据本地时间格式,把 Date 对象转换为字符串
toLocalTimeString()
根据本地时间格式,把 Date 对象的时间部分转换为字符串
toSource()
返回一个字符串代表一个等价的日期对象的源码,您可以使用这个值来创建一个新的对象
toString()
把 Date 对象转换为字符串
toTimeString()
把 Date 对象的时间部分转换为字符串
toUCTString()
根据世界时,把 Date 对象转换为字符串
valueOf()
返回 Date 对象的原始值
静态方法
所谓静态方法即不用传值的方法。
方法描述
Date.parse()
返回 1970 年 1 月 1 日午夜到指定日期(字符串)的毫秒数
Date.UTC()
根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数
声明日期
以下例举的是常用的声明日期的方式。
"use strict";
// 当前日期和时间
console.log(new Date()); // Tue Jul 28 2020 06:27:54 GMT+0800 (中国标准时间)
// 获取时间戳,时间戳的意思是从1970年1月1日凌晨8点0分0秒开始距离现在所经历过的时间,单位是毫秒。
console.log((new Date()) * 1); // 1595889198251
// 获取一个字符串格式时间
console.log(new Date("2010-11-12")); // Fri Nov 12 2010 08:00:00 GMT+0800 (中国标准时间)
// 填入参数,获取时间 年月日时分秒毫秒
console.log(new Date(2018, 4, 23, 12, 0, 12, 13)); // Wed May 23 2018 12:00:12 GMT+0800 (中国标准时间)
//直接使用函数获取当前时间
console.log(Date());
console.log(typeof Date()); // string
//获取当前时间戳单位毫秒
console.log(Date.now()); // 1595889198254
执行时间
常用且通用的一种计算方法。
"use strict";
// 开始时间减去结束时间即可
const start = Date.now();
for (let i = 0; i < 2000000; i++) { }
const end = Date.now();
console.log(end - start);
控制台测试,这是Js独特的方法,原理也是开始时间减去结束时间。
"use strict";
console.time("testFor");
for (let i = 0; i < 20000000; i++) { }
console.timeEnd("testFor"); // testFor: 13.82177734375ms
类型转换
将日期转为数值类型就是转为时间戳格式,单位是毫秒。
"use strict";
let time = new Date();
console.log(time * 1); // 时间戳 1595889846353
console.log(Number(time)); // number类型时间戳 1595889846353
console.log(time.valueOf()); // 时间戳 1595889846353
console.log(time.getTime()); // 时间戳 1595889846353
有时后台提供的日期为时间戳格式,下面是将时间戳转换为标准日期的方法
"use strict";
const param = [1990, 2, 22, 13, 22, 19];
const date = new Date(...param); // 数组打散,相当于填参数了。 列表中的参数一一对应形参年月日时分秒毫秒
const timestamp = date.getTime(); // 获取时间戳
console.log(timestamp); // 638083339000
console.log(new Date(timestamp)); // Thu Mar 22 1990 13:22:19 GMT+0800 (中国标准时间)
日期定位
获取到当前日期,并定位到后5天。
"use strict";
let time = new Date();
time.setDate(time.getDate() + 5);
console.log(time); // Sun Aug 02 2020 06:55:43 GMT+0800 (中国标准时间)
时间格式化
有时候我们会觉得Js提供给我们的格式不太好用,这个时候可以写一个函数自定义格式。
// format定义了默认参数
function dateFormat(date, format = "YYYY-MM-DD HH:mm:ss") {
const config = {
YYYY: date.getFullYear(), // 获取年份
MM: date.getMonth() + 1, // 获取月份,月份+1是因为js中的月份是0-11
DD: date.getDate(), // 获取天数
HH: date.getHours(), // 获取小时
mm: date.getMinutes(), // 获取分
ss: date.getSeconds() // 获取秒
};
for (const key in config) {
format = format.replace(key, config[key]);
}
return format;
}
console.log(dateFormat(new Date(), "YYYY年MM月DD日")); // 2020年7月28日
moment.js
Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。
获取当前时间
console.log(moment().format("YYYY-MM-DD HH:mm:ss"));
设置时间
console.log(moment("2020-02-18 09:22:15").format("YYYY-MM-DD HH:mm:ss"));
十天后的日期
console.log(moment().add(10, "days").format("YYYY-MM-DD hh:mm:ss"));
标签:console,log,根据,对象,JavaScript,时间,Date
来源: https://www.cnblogs.com/Yunya-Cnblogs/p/13388875.html