logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
概述

数据源

数据源管理
主数据源

外部数据源(数据库)

介绍
外部 MySQL
外部 MariaDB
外部 PostgreSQL
外部 MSSQL
外部 Oracle
主、外部数据库对比
REST API 数据源
人大金仓(KingbaseES)数据源

数据表

概述
普通表
继承表
文件表
树表
日历表
评论表
表达式表
SQL 表
数据库视图

数据表字段

概述
字段验证

基本类型

单行文本
多行文本
手机号码
电子邮箱
URL
整数
数字
百分比
密码
颜色
图标

选择类型

勾选
下拉菜单(单选)
下拉菜单(多选)
单选框
复选框

多媒体

Markdown
Markdown(Vditor)
富文本
附件(关系)
附件(URL)

日期 & 时间

概述
日期时间(含时区)
日期时间(不含时区)
Unix 时间戳
日期(不含时间)
时间

几何图形

点
线
圆
多边形

高级类型

UUID
Nano ID
排序
计算公式
自动编码
JSON
数据表选择器
加密

系统信息

创建日期
最后修改日期
创建人
最后修改人
空间
Table OID

关系类型

概述
一对一
一对多
多对一
多对多
多对多(数组)

开发

概述
Next Page概述

#概述

#日期时间字段类型

日期时间字段类型包括以下几种:

  • 日期时间(含时区) - 日期时间会统一转换为 UTC 时间(协调世界时),并在需要时进行时区转换;
  • 日期时间(不含时区) - 存储不带时区信息的日期和时间;
  • 日期(不含时间) - 仅存储日期,不包含时间部分;
  • 时间 - 仅存储时间,不包含日期部分;
  • Unix 时间戳 - 存储为 Unix 时间戳,通常为自1970年1月1日以来的秒数。

各日期相关字段类型的示例:

字段类型示例值描述
日期时间(含时区)2024-08-24T07:30:00.000Z日期时间会统一转换为 UTC 时间(协调世界时)
日期时间(不含时区)2024-08-24 15:30:00不带时区的日期时间,仅记录日期和时间
日期(不含时间)2024-08-24仅存储日期信息,不包括时间
时间15:30:00仅存储时间信息,不包括日期
Unix 时间戳1724437800从 UTC 时间1970年1月1日00:00:00开始所经过的秒数

#各数据源对照

NocoBase、MySQL 和 PostgreSQL 的对照表格:

字段类型NocoBaseMySQLPostgreSQL
日期时间(含时区)Datetime with timezoneTIMESTAMP
DATETIME
TIMESTAMP WITH TIME ZONE
日期时间(不含时区)Datetime without timezoneDATETIMETIMESTAMP WITHOUT TIME ZONE
日期(不含时间)DateDATEDATE
时间TimeTIMETIME WITHOUT TIME ZONE
Unix 时间戳Unix timestampINTEGER
BIGINT
INTEGER
BIGINT
时间(含时区)--TIME WITH TIME ZONE

备注:

  • MySQL TIMESTAMP 的数据范围介于 UTC 时间 1970-01-01 00:00:01 ~ 2038-01-19 03:14:07 之间,超出此范围时,建议使用 DATETIME 或 BIGINT 存储 Unix 时间戳。

#日期时间存储的处理流程

#含时区

包括日期时间(不含时区)和 Unix 时间戳

20240824191933

备注:

  • 为了支持更广泛的数据范围,NocoBase 的日期时间(含时区)的字段 MySQL 数据库里使用的是 DATETIME,存储的日期值是根据服务端 TZ 环境变量转换之后的值,如果 TZ 环境变量变更之后,日期时间的存值会产生变化。
  • UTC 时间与本地时间存在时区差,直接展示 UTC 原始值可能会让用户误解。

#不含时区

20240824185600

#UTC

UTC(协调世界时,Coordinated Universal Time)是全球时间标准,用于协调和统一世界各地的时间。它是基于原子钟的高精度时间标准,并且与地球自转的时间保持同步。

UTC 时间与本地时间存在时区差,直接展示 UTC 原始值可能会让用户误解,例如:

时区日期时间
UTC2024-08-24T07:30:00.000Z
东八区 (UTC+8)2024-08-24 15:30:00
东五区 (UTC+5)2024-08-24 12:30:00
西五区 (UTC-5)2024-08-24 02:30:00
英国时间 (UTC+0)2024-08-24 07:30:00
中部时间 (UTC-6)2024-08-23 01:30:00

以上表示的都是一个时间,只是时区有所区别。