【问题标题】:Current date in TypeORM and PostgreSQLTypeORM 和 PostgreSQL 中的当前日期
【发布时间】:2021-12-04 12:30:11
【问题描述】:

在 PostgreSQL 和 TypeORM 中设置日期字段的最佳方式是什么?

我在 PostgreSQL(一般 SQL 数据库)中比较新,但在 MongoDB(使用 Mongoose)中,我通常有这样的字段:

export class User {
  @Prop({ default: Date.now() })
  createdAt: Date;
}

在 TypeORM 和 PostgreSQL 中什么是等效的?因为,如果我使用这种方法,PostgreSQL 会抛出一个错误。

QueryFailedError:日期/时间字段值超出范围:“1634416004545”

【问题讨论】:

  • 好吧,Date.now() 以毫秒为单位返回 epoch,不能直接在 Postgres 时间戳(tz)字段中使用。在 Postgres 中,您可以使用 select to_timestamp(1634416695294/1000); 2021-10-16 13:38:15-07。对于 ORM,尽管您可能需要返回解析的日期/时间字符串的东西。最好的选择是以 ISO 格式返回。请参阅Date/time input 了解更多信息。

标签: javascript typescript postgresql nestjs


【解决方案1】:

您可以使用 @CreateDateColumn 装饰器来归档您想要的内容:

export class User {
  @CreateDateColumn()
  createdAt: Date;
}

【讨论】:

  • 当然可以,但是,如果我想手动填写呢?我的意思是,如果我有一个接收日期的特定字段并且我想在我的服务中发送它
  • 你不能用new User({ createdAt: $yourDate })吗?
猜你喜欢
  • 2017-08-16
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 2014-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多