---
url: /dev/guide/current-date-default/index.md
---
# 实体日期字段默认为当前日期

## 原理说明

在 YonBuilder 应用构建中，为实体日期字段配置默认值为当前日期，可以在新增数据时自动填充日期，减少手动录入。核心方法是：在实体建模时，为日期字段的"默认值"属性配置公式，以获取系统当前日期并格式化为所需格式。

:::warning 格式一致性
若日期字段存储了带时分秒的数据（如 `yyyy-MM-dd HH:mm:ss`），但在查询时仅使用日期部分（`yyyy-MM-dd`）进行区间匹配，可能导致查询失败。因此配置默认当前日期时，必须确保其格式与字段的存储和查询预期一致。
:::

## 配置步骤

### 1. 进入实体建模

登录 YonBuilder 开发环境，进入目标**应用**，找到对应的**实体**并进入设计器。

### 2. 定位日期字段

在实体属性列表中，找到类型为"日期"的字段（例如 `start_date`、`end_date` 或 `inspect_date`）。

### 3. 配置默认值公式

选中该日期字段，在右侧属性面板中找到\*\*"默认值"\*\*设置项：

* **不要**使用简单的 `sysdate()`，因为它返回包含时分秒的完整日期时间
* 应使用以下公式：

```
dateFormat(sysdate(),'yyyy-MM-dd')
```

公式说明：

| 函数/参数 | 作用 |
| --- | --- |
| `sysdate()` | 获取系统当前日期和时间 |
| `dateFormat(...)` | 将日期格式化为指定的字符串格式 |
| `'yyyy-MM-dd'` | 目标格式，表示"年-月-日"，不包含时分秒 |

### 4. 保存并发布

完成配置后，保存实体修改，并**发布实体**以使更改生效。

## 关联场景：查询区日期区间

如果该日期字段后续需要在查询区作为"日期区间"条件使用，且需要准确查询，还需在页面设计器中对该查询区字段增加 `bStringAttribute: true` 属性。这确保了在查询时，日期值以字符串形式进行比较，避免因时间部分导致的匹配问题。

## 注意事项

1. **格式一致性**：务必使用 `dateFormat(sysdate(),'yyyy-MM-dd')` 而非 `sysdate()`。后者包含时分秒，会导致仅按日期进行的区间查询或匹配出现异常。
2. **存储与查询匹配**：此配置确保字段存储的是纯日期字符串。如果字段本身定义为"日期时间"类型且存储了时间，则此方法可能不适用，需要根据业务需求调整字段类型或处理逻辑。
3. **公式大小写**：公式函数名（如 `dateFormat`、`sysdate`）通常不区分大小写，但建议与文档示例保持一致。
4. **发布生效**：修改实体默认值后，必须执行**发布**操作，新的默认值规则才会在运行时生效。

## 参考来源

* [案例-查询区日期区间操作案例](https://community.yonyou.com/article/detail/8504)
* [YonBIP 旗舰版低代码开发-最佳实践 - 计量设备管理](https://community.yonyou.com/article/detail/10655)
* [515 迭代｜新版应用构建对象建模全能力升级详解](https://community.yonyou.com/article/detail/12390)

***

## 修改记录

| 版本 | 日期 | 修改人 | 修改内容 |
| --- | --- | --- | --- |
| 1.0 | 2026/08/18 | — | 初始版本：整理自官方知识库文档 |
