文章目录
- 一、Date对象的方法
- new Date()
- getDate()
- getDay()
- getFullYear()
- getHours()
- getMilliseconds()
- getMinutes()
- getMonth()
- getSeconds()
- getTime()
- getTimezoneOffset()
- getUTC之类
- now()
- parse()
- setDate()
- setFullYear()
- setHours()
- setMilliseconds()
- setMinutes()
- setMonth()
- setSeconds()
- setTime()
- toDateString()
- toISOString()
- toJSON()
- toLocaleDateString()
- toLocaleTimeString()
- toLocaleString()
- toTimeString()
- toUTCString()
- UTC()
- 实际应用
一、Date对象的方法
new Date()
在当前运行代码时,创建一个时间点对象
参数形式有以下5种:
new Date(“month dd,yyyy hh:mm:ss”);
new Date(“month dd,yyyy”);
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);
注意最后一种形式,参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义如下:
month:用英文表示月份名称,从January到December
mth:用整数表示月份,从(1月)到11(12月)
dd:表示一个月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm:分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数
如:
new Date(“Jun 12,2022 22:00:00”);
new Date(“jun 12,2022”);
new Date(2022,6,12,22,19,35);
new Date(2022,6,12);
new Date(1137075575000);
var dt = new Date()
console.log(dt)
getDate()
返回月中的第几天(从 1 到 31)。
var dt = new Date()
console.log(dt.getDate())
getDay()
返回星期几(0-6)。
var dt = new Date()
console.log(dt.getDay())
getFullYear()
返回指定日期的年份(1000 年到 9999 年之间的日期的四位数字)。
var dt = new Date()
console.log(dt.getFullYear())
getHours()
返回指定日期和时间的小时数(从 0 到 23)。
var dt = new Date()
console.log(dt.getHours())
getMilliseconds()
返回指定日期和时间的毫秒数(从 0 到 999)。
var dt = new Date()
console.log(dt.getMilliseconds())
getMinutes()
返回指定日期和时间的分钟数(从 0 到 59)。
var dt = new Date()
console.log(dt.getMinutes())
getMonth()
根据本地时间返回指定日期的月份(从 0 到 11)。
注意:因为计算机是从0到11返回月份,所以要比实际月份小1所以使用时加一表示真实月份
var dt = new Date()
console.log(dt.getMonth())
getSeconds()
返回指定日期和时间的秒数(从 0 到 59)。
var dt = new Date()
console.log(dt.getSeconds())
getTime()
返回从 1970 年 1 月 1 日午夜到指定日期之间的毫秒数。
var dt = new Date()
console.log(dt.getTime())
getTimezoneOffset()
返回 UTC 时间和本地时间之间的时差,以分钟为单位。
var dt = new Date()
console.log(dt.getTimezoneOffset())
getUTC之类
跟前面方法一样加了UTC就代表是世界时
now()
返回自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。
console.log(Date.now())
parse()
解析日期字符串,并返回日期字符串与 1970 年 1 月 1 日午夜之间的毫秒数。
var dt = new Date()
console.log(Date.parse(2022-6-12))
setDate()
将月份中的某一天设置为日期对象。
语法:Date.setDate(day)
返回值: 数值,表示日期对象和 1970 年 1 月 1 日午夜之间的毫秒数。后面set设置的返回值都一样
案例:将本月的某一天设置为上个月的最后一天
var dt = new Date()
dt.setDate(0);
console.log(dt)
setFullYear()
设置日期对象的年份(1000 年到 9999 年之间的四位数字)。
将日期设置为 2100 年 9 月 1 日:
var dt = new Date()
dt.setFullYear(2100,9,1);
console.log(dt)
setHours()
设置日期对象的小时。此方法还可用于设置分钟、秒和毫秒。
语法:Date.setHours(hour, min, sec, millisec)
var dt = new Date()
dt.setHours(22,10,10);
console.log(dt)
setMilliseconds()
设置日期对象的毫秒数。
案例:设置毫秒数为999
var dt = new Date()
dt.setMilliseconds(999);
console.log(dt.getMilliseconds())
setMinutes()
方法设置日期对象的分钟。
这个方法也可以用来设置秒和毫秒。
setMonth()
方法设置日期对象的月份。
注释:一月为 0,二月为 1,依此类推。
此方法还可用于设置月中的日期。
setSeconds()
setSeconds() 方法设置日期对象的秒数。
此方法也可用于设置毫秒。
setTime()
通过从 1970 年 1 月 1 日午夜开始添加或减去指定的毫秒数来设置日期和时间。
toDateString()
将 Date 对象的日期(不是时间)转换为可读字符串。
返回值: 字符串,将日期表示为字符串。
var dt = new Date()
console.log(dt.toDateString())
toISOString()
使用 ISO 标准将 Date 对象转换为字符串。
返回值: 字符串,表示使用 ISO 标准格式的日期和时间。
var dt = new Date()
console.log(dt.toISOString())
toJSON()
将 Date 对象转换为字符串,格式为 JSON 日期。
JSON 日期的格式与 ISO-8601 标准相同:YYYY-MM-DDTHH:mm:ss.sssZ
var dt = new Date()
console.log(dt.toJSON())
toLocaleDateString()
toLocaleDateString() 方法使用区域设置约定(locale conventions)将 Date 对象的日期(而不是时间)转换为可读字符串。
var dt = new Date()
console.log(dt.toLocaleDateString())
toLocaleTimeString()
使用区域设置约定将 Date 对象的时间部分作为字符串返回。
var dt = new Date()
console.log(dt.toLocaleTimeString())
toLocaleString()
使用区域设置将 Date 对象转换为字符串。
var dt = new Date()
console.log(dt.toLocaleString())
toTimeString()
将 Date 对象的时间部分转换为字符串。
var dt = new Date()
console.log(dt.toTimeString())
toUTCString()
根据世界时将 Date 对象转换为字符串。
提示:世界协调时间 (UTC) 是由世界时间标准设定的时间。
注释:UTC 时间与 GMT 时间(格林威治时间)相同。
var dt = new Date()
console.log(dt.toUTCString())
UTC()
根据世界时返回指定日期与 1970 年 1 月 1 日午夜之间的毫秒数。
提示:世界协调时间 (UTC) 是由世界时间标准设定的时间。
注释:UTC 时间与 GMT 时间(格林威治时间)相同。
var dt = Date.UTC(2021,2,1)
console.log(dt)
实际应用
计算帖子刚刚发布多久
var nowdt=new Date()
var sinadt=new Date("2022-6-12 15:36:00")
var absdt=nowdt-sinadt
if(absdt<1000*60){
console.log("刚刚" )
}
else if(1000*60<=absdt&&absdt<1000*60*60){
var re=new Date(absdt).getMinutes()
console.log(re+'分钟前')
}
计算下一周的时间
var myDate=new Date("2022-6-12");
var myDate2=new Date("2022-6-12");
var m=myDate2.getDate()+7
myDate2.setDate(m)
console.log(myDate.toLocaleDateString(),myDate2.toLocaleDateString())
使用毫秒数来计算下一周时间
var mydate=new Date()
var mydate1=mydate.parse()+7*24*60*60*1000
var mydate2=new Date(mydate1)
console.log(mydate.toLocaleDateString(),mydate2.toLocaleDateString())