domino xpages 开发 文档域赋时间值
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在 Domino XPages 开发中,处理时间和日期是常见的任务,特别是在与文档数据交互时。本文将深入探讨如何在文档域中赋值和读取 NotesDateTime 类型的时间值。 让我们了解一下 `NotesDateTime` 类。这是一个 LotusScript 和 Java API 中的关键类,用于表示 Domino 日历和时间戳。它不仅包含了日期部分,还包含了时间部分,甚至可以包含时区信息。在 XPages 中,我们通常使用 `session.createDateTime()` 方法来创建一个新的 `NotesDateTime` 对象。 在给定的代码段中,我们看到了如何为文档中的 "RecordedTime" 项赋值: 1. 创建一个表示当前日期和时间的新 `NotesDateTime` 对象: ```java var doc:NotesDocument = currentDocument.getDocument(); var dt:NotesDateTime = session.createDateTime("Today 12"); ``` 这里的 "Today 12" 表示今天的日期,并附加了中午12点的时间。`setNow()` 方法可以用来更新这个对象为服务器的当前时间。 ```java dt.setNow(); doc.replaceItemValue("RecordedTime", dt); doc.save(); ``` 这将文档的 "RecordedTime" 项设置为服务器的当前时间,并保存文档。 接着,我们看到如何从输入控件获取时间值并赋值给文档: 2. 获取 XPage 控件(如 inputText13)的值: ```java var dt:NotesDateTime=session.createDateTime(getComponent('inputText13').getValue()); ``` 这里假设输入控件 `inputText13` 存储了一个有效的日期和时间字符串。 3. 分离日期和时间部分: ```java print(dt.getDateOnly()); print(dt.getTimeOnly()); ``` 这两个方法分别打印出日期和时间部分,便于调试和验证。 4. 合并日期和时间字符串: ```java var temp=dt.getDateOnly()+' '+dt.getTimeOnly(); ``` 这将日期和时间部分连接成一个字符串。 5. 创建一个新的 `NotesDateTime` 对象,用合并后的字符串初始化: ```java var dt:NotesDateTime=session.createDateTime(temp); doc.replaceItemValue("RecordedTime", dt); doc.save(); ``` 这个新对象用于替换文档的 "RecordedTime" 项,然后保存更改。 需要注意的是,处理 `NotesDateTime` 对象时,确保时间格式正确且与 Domino 数据库的期望格式匹配非常重要。不匹配的格式可能导致解析错误或丢失数据。此外,如果用户输入的时间不完整(例如只输入日期),可能需要进行额外的验证和处理。 在实际开发中,可能还需要考虑其他因素,比如时区转换、异常处理以及对用户界面的日期/时间输入的格式化等。了解这些概念对于高效地在 Domino XPages 环境中开发和维护应用程序至关重要。
- 粉丝: 892
- 资源: 730
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助