【问题标题】:Setting UTC as default date timezone将 UTC 设置为默认日期时区
【发布时间】:2020-07-08 16:22:18
【问题描述】:

我已经成功安装并配置了 TypeORM;我可以添加新记录、搜索等。我正在尝试将默认时区设置为 UTC 4 小时...但没有成功

我已将节点 TZ 配置设置为 UTC,当我打印 console.log(process.env.TZ) 时,它按预期返回 UTC

我做错了吗?我的“用户”实体代码:

import {Entity, PrimaryGeneratedColumn, Unique, Column, CreateDateColumn, UpdateDateColumn, BaseEntity} from "typeorm";

@Entity()
//@Unique(['email'])
export class User extends BaseEntity {
  @PrimaryGeneratedColumn("uuid")
  id!: number;

  @Column()
  email!: string;

  @Column()
  password!: string;

  @CreateDateColumn({name: 'created_at', type: 'timestamp'})
  createdAt!: Date;

  @UpdateDateColumn({name: 'updated_at',type: 'timestamp'})
  updatedAt!: Date;
}

和连接配置:

{
  name: 'default',
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'supersecret',
  database: 'multichat',
  timezone: 'Z',
  syncronize: true,
  logging: false,
  entities: [
    '/var/www/html/projects/sluy/multichat/api_express/src/database/entities/**/*.ts'
  ],
  migrations: [
    '/var/www/html/projects/sluy/multichat/api_express/src/database/migrations/**/*.ts'
  ],
  subscribers: [
    '/var/www/html/projects/sluy/multichat/api_express/src/database/subscribers/**/*.ts'
  ],
  cli: {
    entitiesDir: '/var/www/html/projects/sluy/multichat/api_express/src/database/entities',
    migrationsDir: '/var/www/html/projects/sluy/multichat/api_express/src/database/migrations',
    subscribersDir: '/var/www/html/projects/sluy/multichat/api_express/src/database/subscribers'
  }
}

【问题讨论】:

  • typeorm 连接属性doc

标签: mysql node.js typeorm


【解决方案1】:

TypeORM 的连接选项timezone 似乎无法与 mysql 一起正常工作: https://github.com/typeorm/typeorm/issues/5895.

可能发生的情况是您的连接正在从系统获取时区信息。你可以验证这个SELECT @@session.time_zone;

解决方案

对我有用的是在启动服务器时手动设置时区信息:

await manager.query(`SET GLOBAL time_zone = '+00:00';`)
await manager.query(`SET time_zone = '+00:00';`)

【讨论】:

    猜你喜欢
    • 2012-03-12
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 2020-09-15
    • 1970-01-01
    • 2020-08-31
    相关资源
    最近更新 更多