首先回答一下是什么UTC
、GMT
:UTC
:协调世界时,世界统一时间。(或许就是世界统一用的时间)GMT
:格兰尼治时间
地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间──协调世界时(UTC)──由原子钟提供。
自1924年2月5日开始,格林尼治天文台每隔一小时会向全世界发放调时信息。
感觉就是两种计算时间的方式,不管它,返回时间不一样就对了。
一、javaScript 的内置对象Date
1、创建
官网在此
创建有四种参数。分别是,无
、unix时间戳
、时间戳字符串
、如下图
。
返回值:(返回的是GMT计时的时间对象)
创建一个新Date
对象的唯一方法是通过new
操作符,例如:let now = new Date();
若将它作为常规函数调用(即不加 new
操作符),将返回一个字符串,而非 Date
对象。
2. 相关api
总结起来就是获取年月天,设置年月天,获取UTC年月天,设置UTC年月天。
二、moment.js
1、解析
moment() // 本地模式
moment.utc() // 是UTC模式
moment.unix
我的理解就是把时间戳变成了毫秒时间戳
官方:moment.unix 输出 Unix 时间戳(自 Unix 纪元以来的秒数)
不过js 内置对象Date 创建的是毫秒的时间戳,或者对象,都是直接可以用moment(dd)转换。不知道这个函数存在的意义是什么?
var day2 = moment.unix(1318781876.721);
var day3 = moment.unix(1318781876);
console.log(day3.valueOf()); // 1318781876000
console.log(day2.valueOf()); // 1318781876721
isBefore
检查一个 moment 是否在另一个 moment 之前。 第一个参数会被解析为 moment(如果尚未解析)
startOf
endOf
add
// 设置初始值
const initQuery: SearchCondition = {
CreateTs: {
start: moment()
.add(-7, "d")
.startOf("day"),
end: moment().endOf("day")
}
};
// 初始值为七天前的00:00:00,结束时间是今天的23:59:59
为什么这里有一个加号?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。