首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让TypeORM在UTC中保存CreateDateColumn,UpdateDateColumn的值?

为了让TypeORM在UTC中保存CreateDateColumn和UpdateDateColumn的值,您可以按照以下步骤进行设置:

  1. 在TypeORM的配置文件中,确保数据库连接的时区设置为UTC。可以在ormconfig.jsontypeorm.config.js文件中进行设置。例如:
代码语言:txt
复制
{
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "username": "root",
  "password": "password",
  "database": "mydatabase",
  "timezone": "UTC", // 设置为UTC时区
  "synchronize": true,
  "logging": true,
  "entities": [
    "src/entities/**/*.ts"
  ],
  "migrations": [
    "src/migrations/**/*.ts"
  ],
  "subscribers": [
    "src/subscribers/**/*.ts"
  ]
}
  1. 在您的实体类中,使用@CreateDateColumn@UpdateDateColumn装饰器来标记创建日期和更新日期字段。确保这些字段的类型为Date。例如:
代码语言:txt
复制
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  name: string;

  @CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
  createdAt: Date;

  @UpdateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP', onUpdate: 'CURRENT_TIMESTAMP' })
  updatedAt: Date;
}

在上述示例中,@CreateDateColumn@UpdateDateColumn装饰器分别用于标记createdAtupdatedAt字段,并使用type参数指定字段类型为timestampdefault参数用于设置默认值,onUpdate参数用于在更新实体时更新字段值。

  1. 确保您在保存或更新实体之前,将JavaScript的Date对象转换为UTC时间。可以使用new Date(Date.UTC(year, month, day, hour, minute, second))来创建UTC时间。
代码语言:txt
复制
import { getRepository } from 'typeorm';
import { User } from '../entities/User';

const userRepository = getRepository(User);

const user = new User();
user.name = 'John Doe';
user.createdAt = new Date(Date.UTC(2022, 0, 1, 10, 30, 0)); // 设置为UTC时间

await userRepository.save(user);

通过以上设置和操作,您可以让TypeORM在UTC中保存CreateDateColumn和UpdateDateColumn的值。这样可以确保时间的一致性和正确性,并适应不同时区的需求。

请注意,本回答中未提及腾讯云的相关产品和产品介绍链接地址,因为根据要求,不能提及具体品牌商。如需了解相关产品信息,请您自行查阅腾讯云官方文档或咨询腾讯云官方支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • GraphQL 实践与服务搭建

    GraphQL 对你 API 数据提供了一套易于理解完整描述,使得客户端能够准确地获得它需要数据,而且没有任何冗余,也 API 更容易地随着时间推移而演进,还能用于构建强大开发者工具。...但是另写一个getBlogAndAuthor 就破坏了 Restful API 接口风格,并且复杂业务,比如说还要获取博文评论等等,后端就要额外提供一个接口,可以说非常繁琐了。...在上面一开始例子是 Code First 方式,通常使用该方式即可,无需关心 Schema 是如何生成。下文也会以 Code First 方式来编写 GraphQL 服务。..., UpdateDateColumn, } from 'typeorm'; @ObjectType() @Entity() export class Blog { @Field(() => Int...因此,您不必为分散代码@Field 装饰符而烦恼。

    5.3K10

    如何数据PBI智能化显示 - 效果

    对数据智能化显示,作图能力上到一个新台阶。这将需要综合运用 Power BI 及 DAX 众多高级思维模式和技巧实现,是高级专家值得仔细研究课题。...矩阵数据智能化显示 用户希望矩阵数据可以根据自己大小自行判断并给出紧凑显示,如下: 大部分产品年销售额都是几十万规模,用英文规范显示,就是多少 K ,而总计则超过了百万,则应该显示为...如果你认为这种方法只是对矩阵文本处理,那就错了,因为除了矩阵外,我们还需要对图表(如:柱形图)显示做智能化处理,如下: 向下钻取后,如下: 如果切换到中文模式,如下: 这样一来,矩阵和图表数据都可以得到正确合理显示...更有甚者,有极致要求情况下,要求图表(如:柱形图)显示使用统一尺度,如下: 这样就可以图表得到正确显示。...我们将会用一系列文章来说清楚这个复杂问题如何被解决以及这背后蕴含了怎么样思想。

    3.9K30

    Excel如何根据求出其坐标

    使用excel过程,我们知道,根据一个坐标我们很容易直接找到当前坐标的,但是如果知道一个坐标里,反过来求该点坐标的话,据我所知,excel没有提供现成函数供使用,所以需要自己用VBA编写函数使用...(代码来自互联网) Excel,ALT+F11打开VBA编辑环境,左边“工程”处添加一个模块 把下列代码复制进去,然后关闭编辑器 Public Function iSeek(iRng As Range...False, False): Exit For Next If iAdd = "" Then iSeek = "#无" Else iSeek = iAdd End Function 然后即可在excel表格编辑器中使用函数...iSeek了,从以上代码可以看出,iSeek函数带三个参数,其中第一个和第二个参数制定搜索范围,第三个参数指定搜索内容,例如 iSeek(A1:P200,20),即可在A1与P200围成二维数据表搜索

    8.8K20

    短链服务?用 Nest 自己写一个

    生活我们经常遇到需要短链场景。 比如一段很长 url: 分享出去很不方便。...这样访问短链时候从数据库查出对应长链接,返回 302 重定向即可。 比如刚才短链服务就是通过 302 把短链重定向到长链: 这里也可以用 301。...数据卷挂载就是把宿主机某个目录映射到容器里 /var/lib/mysql 目录,这样数据是保存在本地,不会丢失。...创建成功之后左侧就可以看到这个 database 了: 当然,现在还没有表。 我们 Nest 里用 TypeORM 连接 mysql。...AppModule 引入: 保存之后,TypeORM会自动建表: 表创建好了,接下来插入一些数据: nest g service unique-code --flat --no-spec 生成 service

    33910

    Power Pivot如何查找对应求得费用?

    Excel我们可以直接使用Vlookup或者Index和Match组合匹配到,然后下拉即可 VlookUp(A2,E1:F4,2,0)*RoundUp(B2,0) Index(F:F,Match(A2...但是这个条件会显得不一样,因为报价时间和发货时间是不等,因为一般报价都是发货前,所以筛选时候条件是报价时间<=发货时间,这时筛选时候会出现多个内容表。 ?...[单位价格kg]中最大一个,而不是最后一个。...我们要取价格应该是A客户发深圳发货日2019/2/5之前最后一次报价,应该是7,而不是8。 ? 那如何才能返回最后一条信息呢?通过3个条件筛选我们可以得出这个表。 ?...这里我们需要查找是2个,一个是首重,一个是续重(单位价格),然后再去求运费。我们通过var变量来写,相对能够更清楚些。最终我们可以添加列里面写上如下公式。

    4.3K30

    【DB笔试面试584】Oracle如何得到已执行目标SQL绑定变量

    ♣ 题目部分 Oracle如何得到已执行目标SQL绑定变量?...♣ 答案部分 当Oracle解析和执行含有绑定变量目标SQL时,如果满足如下两个条件之一,那么该SQL绑定变量具体输入就会被Oracle捕获: l 当含有绑定变量目标SQL以硬解析方式被执行时...l 当含有绑定变量目标SQL以软解析或软软解析方式重复执行时,Oracle默认情况下至少得间隔15分钟才会捕获一次。...,Oracle只会捕获那些位于目标SQLWHERE条件绑定变量具体输入,而对于那些使用了绑定变量INSERT语句,不管该INSERT语句是否是以硬解析方式执行,Oracle始终不会捕获INSERT...查询视图V$SQL_BIND_CAPTURE或V$SQL可以得到已执行目标SQL绑定变量具体输入

    3K40

    如何小程序市场脱颖而出?这里就有答案

    如何微信小程序 28 号正式发布,对于相关从业者来说,马上要面临这样一个问题: 自己开发出小程序,如何在高度竞争市场脱颖而出? 这是对产品、营销和运营人员一个重大考验,大家需要做好哪些准备?...活动,你将和我们一起交流小程序发布后各种产品、市场和运营问题,抓住用户痛点,抢占市场先机。 「未来小程序 · Workshop」将要做什么?...早在「未来小程序 · 黑客马拉松」活动,我们就让程序员们 24 小时内见证了小程序开发与成长,但仅仅谈论小程序技术和开发,总觉得缺少点什么。...它区别于「黑客马拉松」 24 小时不间断思考与开发,是一个非技术实操课堂,无需技术门槛,你就可以与大咖们一同讨论小程序: 产品研发:如何设计产品,小程序有足够亮点?...运营维护:如何连接用户,小程序更具生命力? 营销推广:如何判断市场,小程序更有市场价值? 如果「未来小程序 · 黑客马拉松」是梦想实现,那「未来小程序· Workshop」就是思维沉淀。

    1.5K20

    如何下载微信图文消息里视频?浏览器打开保存到手机

    刚刚看到别人分享朋友圈里文章里面有个视频,是微信公众平台内嵌视频,挺有意思,想把它下载下来,那么,怎么提取微信图文消息里视频呢?   ...研究了好一会,采用迂回术总算把微信图文里视频保存到手机了   打开那个含有视频图文消息,点击右上角菜单,选“浏览器打开”,下图红色箭头所示 ?   ...一般默认浏览器都可以播放视频,播放过程中会有一个下载菜单,如下图箭头所示 ?   点击下载就能把图文消息里视频保存到手机。...当然有特殊情况,苹果Safari浏览器,视频右侧没有出现下载按钮,建议换用其他

    5.5K40

    使用NestJs、GraphQL、TypeORM搭建后端服务

    我们过去常用RestFul API,我们可能在不同业务需要调用同一个接口,但是各自所需数据有不同情况下,服务端为了同时满足两个需求则提供了更多字段,这样导致了一个两个业务请求到数据都包含了自己不需要字段...GraphQL则是解决了这个问题,它可以各个业务都可以通过一个接口拿到自己刚刚好数据,而不用返回一个多余字段。...此前有提到,NestJs里面万物皆是Module,所以这里TypeORM也是作为一个子Module添加到整个服务。所以它位置应该在imports这里。...现在保存文件,我们将会得到一个错误,因为TypeORM生成数据库表时候至少需要一个实体Entity文件。...结语 其实总体来说,整个NestJs应用开发体验还是蛮好,相关生态也发展比较成熟,本项目仅是对相关技术一个整体尝试,实际开发过程遇到还有很多别的问题,比如GraphQLN+1查询问题,

    6.6K10

    【DB笔试面试701】Oracle如何普通用户可以杀掉自己用户会话?

    ♣ 题目部分 Oracle如何普通用户可以杀掉自己用户会话?...♣ 答案部分 普通用户想要杀掉会话必须要具有ALTER SYSTEM权限,但是由于该权限过大,用户可能使用该权限错杀其他用户会话,所以,有没有其它办法可以实现该功能呢?...该类问题也是DBA工作中常遇到问题,下面作者给出一种解决方案。...首先,可以创建一个查询自己会话信息视图,将该视图创建公共同义词,然后创建一个存储过程,该存储过程实现杀掉会话需要,最后将该存储过程执行权限赋权给PUBLIC即可解决这个问题。...由于79会话属于LHR用户,所以,避免了误杀其它用户会话,当使用LHR用户时候,可以正常杀掉会话。

    1.3K40

    拒绝无聊,如何AI学会“花式聊天”?对抗学习聊天回复生成曲折探索

    饶是如此,恐怕不会有人认为 NRG 复制了 NMT 模型机器翻译领域成功,其主要原因就是,这种端到端模型生成绝大多数答案严重趋同,且不具有实际价值,即无法人机对话进一步进行下去。...4、知易行难:如何解决文本生成采样不可导问题?...然而当我们试图通过对抗学习实现文本生成时候,一个图像生成 GAN 模型从未遇到问题出现在面前,那就是如何实现判别器 D 训练误差向生成器 G 反向传播 (Backpropagation)。...如前文所述,引入对抗学习改善文本生成关键问题是如何解决文本生成过程由采样带来不可导问题,从而实现判别器误差向生成器正确传播。...机器自动生成任何 query 回复是一个极其困难问题,因为我们试图挑战是人类语言能力。

    2K41

    有了 Prisma,就别用 TypeORM

    findOne(undefined) 所查询到却是第一条记录​ 首先 TypeORM 有个天坑,你可以 这个 Issue 查看详情或查看 这篇文章 是如何破解使用 TypeORM Node.js...但从此而言也可以看出,TypeORM 现今或许并不是一个很好选择。...我举几个例子: TypeORM ,你需要 select 选择某个实体几个字段,你可以这么写 你会发现 post 对象类型提示依旧还是 postEntity,没有任何变化。...而要是涉及到多个关联数据,往往需要先查询到关联数据,然后再像上面这样赋值+保存。这里就不展开了,使用过 TypeORM 应该深有体会。...应用程序代码,您可以使用 Prisma Client 以类型安全方式读取和写入数据库数据,而无需管理复杂模型实例开销。

    2.1K22

    一杯茶时间,上手 Koa2 + MySQL 开发

    ❝「注意」 这篇文章不会涉及 Koa 源码级别的原理分析,重心会放在你完全掌握如何去使用 Koa 及周边生态去开发 Web 应用,并欣赏 Koa 设计之美。...,修改代码保存后会自动加载最新代码并运行。...接下来部分,我们将通过社区优秀组件来解决两个关键问题:路由和数据库,并演示如何结合 Koa 框架进行使用。 实现路由配置 由于 Koa 只是一个中间件框架,所以路由实现需要独立 npm 包。...select: false ,使得这个字段查询时默认不被选中 PrimaryGeneratedColumn 则是装饰主列,它将自动生成 ❝「提示」 关于 TypeORM 所有的装饰器定义及其详细使用...然后我们复制获取到 Token,接下来测试受保护路由时,我们需要添加一个 Authorization 头部,为 Bearer ,如下图所示: ?

    3.6K40

    【译】Nodejs最好ORM - TypeORM

    浏览器中使用WebSQL (试用) TypeORM可以浏览器环境工作,并且试验性支持WebSQL 如果在浏览器环境中使用TypeORM需要使用 npm i typeorm-browser 来替代...快速开始 TypeORM,数据库table都是从实体创建。 所谓实体其实就是用装饰器@Table装饰一个model。...把Photo实体加到数据连接实体列表,所有需要在这个连接下使用实体都必须加到这个列表。 autoSchemaSync选项可以应用启动时确保你实体和数据库保持同步。...上面要保存关系对象需要一个一个来保存,略显麻烦。...如果我们需要当关系对象一个被保存后,另一个也同样被保存,则可以使用cascade选项来做到。 稍微改下@OneToOne装饰: export class Photo { /// ...

    19.5K133
    领券