首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬:.format不起作用

猫鼬:.format不起作用
EN

Stack Overflow用户
提问于 2017-08-07 12:13:03
回答 1查看 3.6K关注 0票数 1

我有猫鼬模式,如下所示:

代码语言:javascript
复制
createdOn: {
    type: String,
    //default: Date.now,
    default: moment(new Date(Date.now())).format('MMM Do YY')    //npm install moment --save   # npm
},
updatedOn: {
    type: String,
    //default: Date.now
    default: moment(new Date(Date.now())).format('MMM Do YY') 
}

更新:

将类型更改为字符串后,

我得到:

Fri 7.2017年7月28日14:43 40 GMT+0530 (IST)

如何去除时间和SMT。

我只需要保留2017年7月28日星期五

我安装了节点js的矩包(http://momentjs.com/)

我上面的架构有什么问题:

我得到了

MongooseError:到目前为止,在路径"updatedOn“中的”8月7日17日“值的强制转换失败 消息:“在路径”“updatedOn”处的“8月7日17日”值“强制转换失败”,名称:'CastError',stringValue:‘Aug71717’,类别:‘日期’,值:‘8月7日17日’,路径:'updatedOn',原因:未定义}

EN

回答 1

Stack Overflow用户

发布于 2017-08-07 12:47:35

双重默认赋值看起来是错误的。

代码语言:javascript
复制
default: default: moment(new Date(Date.now())).format('MMM Do YY')

作为一种更好的实践,您应该考虑仅仅使用UNIX时间戳而不是格式化的日期字符串。时间戳将允许您轻松地跟踪数据库上的统计信息()。

所以你可以用:

代码语言:javascript
复制
Date.now() // returns a UNIX timestamp

在moment.js中,UNIX时间戳:

代码语言:javascript
复制
moment().unix()

如果出于某种原因,您需要字符串格式的时间戳,您可以一直这样做:

代码语言:javascript
复制
moment().unix() + ''
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45546640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档