首先回答一下是什么UTCGMT
UTC:协调世界时,世界统一时间。(或许就是世界统一用的时间)
GMT:格兰尼治时间

地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间──协调世界时(UTC)──由原子钟提供。
自1924年2月5日开始,格林尼治天文台每隔一小时会向全世界发放调时信息。

感觉就是两种计算时间的方式,不管它,返回时间不一样就对了。

一、javaScript 的内置对象Date

1、创建

官网在此
创建有四种参数。分别是,unix时间戳时间戳字符串如下图

返回值:(返回的是GMT计时的时间对象)
创建一个新Date对象的唯一方法是通过new操作符,例如:let now = new Date();
若将它作为常规函数调用(即不加 new操作符),将返回一个字符串,而非 Date 对象。
image.png
image.png

2. 相关api

总结起来就是获取年月天,设置年月天,获取UTC年月天,设置UTC年月天。
image.png

二、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

为什么这里有一个加号?
image.png


米姐胡扯扯
9 声望6 粉丝

市民小胡