GMT(Greenwich Mean Time), 格林威治平时(也称格林威治时间)。
它规定太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午12点。
1972年之前,格林威治时间(GMT)一直是世界时间的标准。1972年之后,GMT 不再是一个时间标准了。
UTC(Coodinated Universal Time),协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。
UTC 是现在全球通用的时间标准,由两部分组成
时区: 从格林威治本初子午线起,经度每向东或者向西间隔15°,就划分一个时区,在这个区域内,大家使用同样的标准时间。
全球共分为24个标准时区,相邻时区的时间相差一个小时。
夏时令: 为节约能源而人为规定地方时间的制度。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。
在施行夏令时的国家,一年里面有一天只有23小时(夏令时开始那一天),有一天有25小时(夏令时结束那一天),其他时间每天都是24小时。
js中主要内置的时间api是Date,目前新增有Temporal
Temporal详解:https://juejin.cn/post/7065588689040048164
貌似用的不多,网上相关的教程也不多,不过本来Date的就不多。
var date = new Date()
var time = date.getDate()
console.log(time) //输出几号
get系列:
getDate()---------- 几号(1-31)
getDay()----------- 周几(0-6)
getFullYear()------ 四位数的年份
getMonth()--------- 月份(0-11)
getHours()--------- 小时(0-23)
getMinutes()------- 分钟(0-59)
getSeconds()------ 秒(0-59)
getTime()----------- 返回1970年1月1日至今的毫秒数
set系列:
parse()------------ 返回1970年1月1日到指定日期的毫秒数
setDate()--------- 设置一月的某一天(1-31)
setFullYear()----- 设置年份
setMonth()-------- 设置月份(0-11)
setHours()--------- 设置小时(0-23)
setMinutes()------- 设置分钟(0-59)
setSeconds()------ 设置秒数(0-59)
setTime --------------- 以毫秒数设置Date
1.获取当前年月日
function getNowDate() {
let Time = null;
let time = new Date;
var year = time.getFullYear();//获取年份
//获取月份,实现两位数显示,小于10显示0X
let month = (time.getMonth() + 1) >=10? (time.getMonth() + 1) : "0" + (time.getMonth() + 1);
let date = time.getDate() >=10 ? time.getDate() : "0" + time.getDate();
return Time = year + "-" + month + "-" + date;
}
console.log(getNowDate()); //"2020-09-07
2.获取当前时分秒
function getNowTime(){
let date=new Date();
let hour = date.getHours().toString().padStart(2,"0")
let minute = date.getMinutes().toString().padStart(2,"0")
let second = date.getSeconds().toString().padStart(2,"0");
//padStart补全字符串长度
return hour + ':' + minute + ':' + second
}
console.log(getNowTime()); //16:19:09
3.通过时间戳获取时间
function formatDateTime(timestamp) {
let date = new Date(timestamp);
let year = date.getFullYear();
let month = date.getMonth() + 1;
month = month < 10 ? ('0' + m) : m;
let day = date.getDate();
day = day < 10 ? ('0' + d) : d;
let hour = date.getHours();
hour = hour < 10 ? ('0' + h) : h;
let minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
let second = date.getSeconds();
second = second < 10 ? ('0' + second) : second;
return year + '-' + mpnth + '-' + day+' '+ hour + ':' + minute + ':' + second;
};
console.log(formatDateTime(1599459858000)); //"2020-09-07 14:24:18"
getYear() 返回的值不总是 4 位的数字
对于介于 1900 与 1999 之间的年份,getYear() 方法仅返回两位数字。
对于 1900 之前或 1999 之后的年份,则返回 4 位数字