我是nestjs的新手。如何设置接受日期格式和日期时间格式的列?
并非在这两种情况下,这些列是两个不同的列,一个接受日期,另一个接受日期时间。
您可以在here查看解释@Column装饰器的文档。在 @Column 中有一个名为 type 的选项 -> 您可以在此处指定要为该特定列存储哪种类型的日期。
有关列类型的更多信息此处。
例如(使用 PostgreSQL):
@Column({ type: 'date' })
date_only: string;
@Column({ type: 'timestamptz' }) // Recommended
date_time_with_timezone: Date;
@Column({ type: 'timestamp' }) // Not recommended
date_time_without_timezone: Date;
注意
date_only
是 string 类型。请参阅此问题了解更多信息。
此外,某些事件的自动日期是可能的:
@CreateDateColumn()
装饰器获得。@UpdateDateColumn()
装饰器获得。@DeleteDateColumn()
装饰器使用。@CreateDateColumn()
created_at: Date; // Creation date
@UpdateDateColumn()
updated_at: Date; // Last updated date
@DeleteDateColumn()
deleted_at: Date; // Deletion date
要向此票证添加更多内容,因为甚至没有提到日期时间:
/**
* Start DateTime
*/
@Column({
type: 'datetime',
default: () => 'NOW()',
})
@Index()
start: string;
/**
* End DateTime
*/
@Column({
type: 'datetime',
nullable: true,
})
@Index()
end: string;
这是给那些不想或不需要使用的人
@CreateDateColumn()
@UpdateDateColumn()
我就是这样做的。 name参数代表数据库中的列名。如果您使用内置的装饰器,它将处理更新列,而无需额外的代码。
@CreateDateColumn({ name: 'created_at'})
createdAt: Date;
@UpdateDateColumn({ name: 'updated_at' })
updatedAt: Date;
@DeleteDateColumn({ name: 'deleted_at' })
deletedAt: Date;
只是为了补充... 创建并希望结果仅显示日期时,请使用:
@CreateDateColumn({ 类型: "日期" }) 创建时间:日期 |字符串;
如果没有特别说明,时间也会包含在内