Moment.js 文档
console.log('start =============================> ', start)
// 2021-03-29 14:28:28
console.log('start =============================> ', typeof start)
// string
console.log('moment(start) =====================> ',moment(start))
// Moment<2021-03-29T14:28:28+08:00>
console.log('moment(start) =====================> ',typeof moment(start))
// object
console.log('moment(start).toDate() ============> ',moment(start).toDate())
// 2021-03-29T06:28:28.000Z
console.log('moment(start).toDate() ============> ',typeof moment(start).toDate())
// object:Date
console.log('moment(start).toDate().toString() ============> ', moment(start).toDate().toString())
// Mon Mar 29 2021 14:28:28 GMT+0800 (China Standard Time)
console.log('moment(start).toDate().toString() ============> ',typeof moment(start).toDate().toString())
// string
console.log('moment(start).toISOString() =======> ',moment(start).toISOString())
// 2021-03-29T06:28:28.000Z
console.log('moment(start).toISOString() =======> ',typeof moment(start).toISOString())
// string
moment(start).toDate()
与 moment(start).toISOString()
返回的类型
不同
let options = {};
if (mongoose.Types.ObjectId.isValid(keyword)) {
options = { _id: mongoose.Types.ObjectId(keyword) };
} else if (keyword) {
options = {
$or: [ // 多条件,数组
{ name: { $regex: keyword, $options: '$i' } },
{ email: { $regex: keyword, $options: '$i' } },
],
};
}
if (start && end) {
options.$and = [
//这里是find 使用的 toISOString
{ createdAt: { $gt: moment(start).toISOString() } },
{ createdAt: { $lt: moment(end).toISOString() } },
];
}
return this.find(options)
.count()
.exec();
let options = {};
if (mongoose.Types.ObjectId.isValid(keyword)) {
options = { _id: keyword };
} else if (keyword) {
options = {
$or: [ // 多条件,数组
{ name: { $regex: keyword, $options: '$i' } },
{ email: { $regex: keyword, $options: '$i' } },
],
};
}
if (start && end) {
options.$and = [
//aggregate 使用的是 toDate
{createdAt: {$gt: moment(start).toDate()}},
{createdAt: {$lt: moment(end).toDate()}},
];
}
return this.aggregate([
{
$match: options,
},
{
$sort: { createdAt: -1 },
},
{
$skip: perPage * (page - 1),
},
{
$limit: perPage,
},
{
$lookup:
{
from: 'counts',
localField: '_id',
foreignField: 'userId',
as: 'info',
},
},
]).exec();
const moment = require('moment');
console.log('--------------当前时间戳--------------');
console.log(new Date().getTime()); // 1617350141240
console.log(moment(1617350141240).format('yyyy-MM-DD hh:mm:ss sss'));
// 2021-04-02 03:55:41 4141
console.log(moment(new Date().getTime()).format('yyyy-MM-DD HH:mm:ss sss'));
// 2021-04-02 16:01:34 3434
console.log('--------------本地时间与utc时间(min)------------------');
console.log(`utc时间 = ${new Date().getTimezoneOffset() / 60}小时 + 本地时间 `);
console.log('--------------FullYear--------------');
console.log(new Date().getFullYear()); // 2021
console.log(new Date().getUTCFullYear()); // 2021
console.log('--------------Month--------------');
console.log(new Date().getMonth()); // 3
console.log(new Date().getUTCMonth()); // 3
console.log('--------------date 每个月的第几天--------------');
console.log(new Date().getDate()); // 2
console.log(new Date().getUTCDate()); // 2
console.log('--------------day 每周的第几天--------------');
console.log(new Date().getDay()); // 5
console.log(new Date().getUTCDay()); // 5
console.log('--------------Hours--------------');
console.log(new Date().getHours()); // 15
console.log(new Date().getUTCHours()); // 7
console.log('--------------Minutes--------------');
console.log(new Date().getMinutes()); // 48
console.log(new Date().getUTCMinutes()); // 48
console.log('--------------Seconds--------------');
console.log(new Date().getSeconds()); // 32
console.log(new Date().getUTCSeconds()); // 32
console.log('--------------Milliseconds--------------');
console.log(new Date().getMilliseconds()); // 18
console.log(new Date().getUTCMilliseconds()); // 18
console.log('------------------------------------------------------------------------------------');
console.log('2021-03-29 14:28:28')
//2021-03-29 14:28:28
console.log(moment('2021-03-29 14:28:28'))
//Moment<2021-03-29T14:28:28+08:00>
console.log(moment('2021-03-29 14:28:28').toISOString())
//2021-03-29T06:28:28.000Z
console.log(typeof moment('2021-03-29 14:28:28').toISOString())
//string
console.log(moment('2021-03-29 14:28:28').toDate())
//2021-03-29T06:28:28.000Z
console.log(typeof moment('2021-03-29 14:28:28').toDate())
//object
console.log(moment('2021-03-29 14:28:28').toDate().toString())
//Mon Mar 29 2021 14:28:28 GMT+0800 (China Standard Time)
console.log(typeof moment('2021-03-29 14:28:28').toDate().toString())
//string
//moment(start).toDate() 与 moment(start).toISOString() 返回的类型不同
console.log('------------------------------------------------------------------------------------');
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="http://cdn.staticfile.org/moment.js/2.24.0/moment.js">script>
head>
<body>
<script>
console.log(
'\n', moment('2020-11-18T07:48:18.288Z').format('YYYY-MM-DD HH:mm:ss.SSS'),
'\n',
'\n', moment().format('MMMM Do YYYY, h:mm:ss a'), // 十一月 18日 2020, 4:05:37 下午
'\n', moment().format('dddd'), // 星期三
'\n', moment().format('MMM Do YY'), // 11月 18日 20
'\n', moment().format('YYYY [escaped] YYYY'), // 2020 escaped 2020
'\n', moment().format(), // 2020-11-18T16:05:37+08:00
);
console.log(
'\n', moment('20111031', 'YYYYMMDD').fromNow(),// 9 年前
'\n', moment('20120620', 'YYYYMMDD').fromNow(),// 8 年前
'\n', moment().startOf('day').fromNow(), // 16 小时前
'\n', moment().endOf('day').fromNow(), // 8 小时内
'\n', moment().startOf('hour').fromNow(), // 6 分钟前
);
console.log(
'\n', moment().subtract(10, 'days').calendar(),// 2020/11/08
'\n', moment().subtract(6, 'days').calendar(), // 上星期四16:05
'\n', moment().subtract(3, 'days').calendar(), // 上星期日16:05
'\n', moment().subtract(1, 'days').calendar(), // 昨天16:05
'\n', moment().calendar(), // 今天16:05
'\n', moment().add(1, 'days').calendar(), // 明天16:05
'\n', moment().add(3, 'days').calendar(), // 下星期六16:05
'\n', moment().add(10, 'days').calendar(), // 2020/11/28
);
console.log(
'\n', moment.locale(), // zh-cn
'\n', moment().format('LT'), // 16:05
'\n', moment().format('LTS'), // 16:05:37
'\n', moment().format('L'), // 2020/11/18
'\n', moment().format('l'), // 2020/11/18
'\n', moment().format('LL'), // 2020年11月18日
'\n', moment().format('ll'), // 2020年11月18日
'\n', moment().format('LLL'), // 2020年11月18日下午4点05分
'\n', moment().format('lll'), // 2020年11月18日 16:05
'\n', moment().format('LLLL'),// 2020年11月18日星期三下午4点05分
'\n', moment().format('llll'),// 2020年11月18日星期三 16:05
);
script>
body>
html>