当前位置: 首页 > news >正文

通过LotusScript中的NotesDateTime类来进行时间计算

大家好,才是真的好。

今天我们介绍的是时间日期处理,其实以前也讲过,主要是通过LotusScript中的NotesDateTime类来进行时间计算。

但是这里也存在一个问题:就是时间日期类的比较只能计算出秒,不能计算出毫秒。

毕竟有一句老话叫做“失之毫秒,谬之千里”。

很多人想计算得出代理程序执行所花的时间,有的代理程序一瞬间就执行完了,可能不到一秒,那我们就想知道它花了多少毫秒。

其实,没问题,notes也可以轻松实现,不过,采用的是Java代码方式,对的,Java比较容易计算出毫秒时间。

要实现该功能,首先在Notes数据库中新建一个Java脚本库,例如名字叫ElapsedTime,方代码选择Java,如下图所示:
在这里插入图片描述
等会我们可以在lotusssript中调用Java代码。这种方式,前面我们也介绍过,这种方式叫做叫LS2J。

接着刚才的Java代码库,打开之后,重命名为ElapsedTime.java,如下图:
在这里插入图片描述
双击打开,写上下面一段Java 代码:

import java.util.*;public class ElapsedTime {private Date startDate = new Date();private Date endDate = new Date();public void start() {startDate = new Date();}public void end() {endDate = new Date();}public long duration() {long t1 = startDate.getTime();long t2 = endDate.getTime();long difference = t2 - t1;return difference;}}

效果如下图所示:
在这里插入图片描述
没问题的话,就保存关闭。

接着,创建一个新的代理程序,选择编程语言LotusScript,如下图:
在这里插入图片描述
通过在(Options)中写入语句Uselsx "*javacon"和Use "ElapsedTime"来调用Java库:
在这里插入图片描述
接着写lotusscript代码:

Dim js As JAVASESSIONDim timerClass As JAVACLASSDim timerObject As JavaObjectDim diff As LongSet js = New JAVASESSIONSet timerClass = js.GetClass("ElapsedTime")Set timerObject = timerClass.CreateObjectCall timerObject.start' ... Process here ...Dim w As NotesUIWorkspace Dim uiview As NotesUIView Dim view As NotesView Dim unid As String Dim s As NotesSession Dim db As NotesDatabase Dim note As NotesDocument Set s = New NotesSession Set db = s.CurrentDatabase Set view=db.GetView("allDesignElements")Set note = view.Getfirstdocument()Do Until note Is NothingSet note=view.Getnextdocument(note)	LoopCall timerObject.enddiff = timerObject.duration()MsgBox  "遍历所有设计元素总共花费" & CStr(diff) & " 毫秒."

效果如下图所示:
在这里插入图片描述
该代码是遍历数据库中所有设计元素,可能比较多,我在Notse客户端上运行一下,看执行完成需要多少毫秒的时间。
在这里插入图片描述
才297毫秒。

要是你用秒来计数,可能都是1或0。

该方式参考了站点:https://breakingpar.com/bkp/home.nsf/0/87256B280015193F87256EAF007B2235

今天就介绍到这里吧。

最后欢迎搜索公众号“协作者”来关注我。

相关文章:

通过LotusScript中的NotesDateTime类来进行时间计算

大家好,才是真的好。 今天我们介绍的是时间日期处理,其实以前也讲过,主要是通过LotusScript中的NotesDateTime类来进行时间计算。 但是这里也存在一个问题:就是时间日期类的比较只能计算出秒,不能计算出毫秒。 毕竟…...

【前端面经】数组算法题解

目录 题目一:两数之和题目二:最长无重复字符子串题目三:合并两个有序数组题目四:寻找数组中的峰值 题目一:两数之和 描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目…...

java架构设计-COLA

参考:https://github.com/alibaba/COLA 架构 要素:组成架构的重要元素 结构:要素直接的关系 意义:定义良好的结构,治理应用复杂度,降低系统熵值,改善混乱状态 创建COLA应用: mvn …...

【进阶篇-Day3:JAVA接口新特性、代码块、内部类、Lambda表达式、组件等的介绍】

目录 1、接口新特性1.1 JDK8的新特性1.2 JDK9的新特性 2、代码块2.1 代码块的定义2.2 代码块的分类 3、内部类3.1 内部类的定义3.2 内部类成员访问3.3 学习内部类的原因3.4 内部类的分类3.4.1 成员内部类3.4.2 静态内部类3.4.3 局部内部类3.4.4 匿名内部类(1&#x…...

72-UDP协议工作原理及实战

#ifndef UDPCOMM_H #define UDPCOMM_H#include <QMainWindow> #include <QUdpSocket> // 用于发送和接收UDP数据报 #include <QtNetwork>QT_BEGIN_NAMESPACE namespace Ui { class udpComm; } QT_END_NAMESPACEclass udpComm : public QMainWindow {Q_OBJECT…...

数据结构——顺序表的实现

数据结构——顺序表的实现 一 关于顺序表的简单知识二 动态顺序表 一 关于顺序表的简单知识 1.顺序表的底层结构是数组&#xff0c;在数组的基础上增加了增&#xff0c;删&#xff0c;查&#xff0c;改等方法。 2.顺序表的分类&#xff1a;静态顺序表和动态顺序表 静态顺序表的…...

【牛客面试必刷TOP101】Day33.BM70 兑换零钱(一)和BM71 最长上升子序列(一)

文章目录 前言一、BM70 兑换零钱(一)题目描述题目解析二、BM71 最长上升子序列(一)题目描述题目解析总结 前言 一、BM70 兑换零钱(一) 题目描述 描述&#xff1a; 给定数组arr&#xff0c;arr中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币…...

重构与优化-优化函数调用(5)

Rename Method Rename Method(“函数改名”),它的核心目标是通过修改方法的名称来更好地反映其功能,提高代码的可读性和维护性。这项重构不仅适用于Java,也同样适用于其他面向对象的编程语言。下面是进行Rename Method重构时的一些关键点和步骤: 关键目的 提升代码清晰…...

6月18日(周二)A股行总结:A股震荡收涨,车路云概念全日强势,10年、30年国债期货齐创新高

车路云概念股发力上涨&#xff0c;中海达、华铭智能等多股20CM涨停。半导体板块走强&#xff0c;中芯国际港股上涨近&#xff13;% 。白酒板块下跌&#xff0c;贵州茅台跌1.3% 。30年期及10年期国债期货主力合约均创上市以来新高。 周二&#xff0c;A股全日窄幅震荡 沪指收涨0…...

今年的618,似乎很平淡!

电商平台取消预售制度的第一个大促&#xff0c;快递业表现如何&#xff1f; 今年的618大促与往年有些不同&#xff0c;自4月起&#xff0c;天猫、京东、快手等主流平台相继官宣取消预售&#xff0c;打出“现货开卖”标签&#xff0c;这意味着消费者不用再被“烧脑”的优惠计算…...

嵌入式中间件_3.嵌入式中间件的一般架构

根据嵌入式中间件的不同类型和其应用对象的不同&#xff0c;其架构也有所不同&#xff0c;通常嵌入式中间件没有统一的架构&#xff0c;这里仅仅列举两种中间件架构。 1.消息中间件 1.1消息中间件原理架构 消息中间件是消息传输过程中保存消息的一种容器。它将消息从它的源中…...

Java基础 - 练习(二)打印菱形

Java基础练习 打印菱形&#xff0c;先上代码&#xff1a; // 方法一&#xff1a;基础&#xff0c;好理解 public static void diamond() {//控制行数for (int i 1; i < 4; i) {//空格的个数for (int k 1; k < 4 - i; k) {System.out.print(" ");}//控制星星…...

链表OJ--超详细解析

链表OJ 文章目录 链表OJ1. 反转链表2. 返回K值3. 链表的中间节点4. 回文链表5. 相交链表6. 带环链表6.1 为什么一定会相遇&#xff0c;有没有可能会错过&#xff0c;或者出现永远追不上的情况&#xff0c;请证明6.2 slow一次走一步&#xff0c;fast如果一次走3步&#xff0c;走…...

JavaFX 分隔符

Separator类表示水平或垂直分隔线。它分割元素&#xff0c;不产生任何动作。 我们可以设计风格&#xff0c;应用视觉效果&#xff0c;并为分隔符设置动画。 默认情况下&#xff0c;分隔符是水平的。我们可以使用setOrientation方法改变它的方向。 Separator类扩展了Node类。…...

mysql安装配置教程(Linux+Windows)

mysql安装配置教程&#xff08;LinuxWindows&#xff09; 文章目录 mysql安装配置教程&#xff08;LinuxWindows&#xff09;摘要在 Linux 上安装和配置 MySQL1. 安装 MySQLUbuntu/DebianCentOS/RHEL 2. 配置 MySQL初始化 MySQL登录 MySQL创建数据库和用户配置 MySQL 文件 3. 测…...

MySQL数据库与基本操作(增删改查)

一、数据库的基本概念 数据库要学习的四个基本概念&#xff0c;主要是&#xff1a;数据、数据库系统、数据库、数据管理系统。数据&#xff08;Date&#xff09;是描述事物的记录&#xff0c;数据库系统&#xff08;DBS&#xff09;&#xff0c;数据库管理系统&#xff08;DBMS…...

【学习总结】SpringBoot中使用单例模式+ScheduledExecutorService实现异步多线程任务(若依源码学习)

最近在学习若依这个开源项目&#xff0c;发现他记录登录日志的时候使用了异步线程去记录日志&#xff0c;觉得这个方案也挺不错的&#xff0c;在此学习记录下来&#xff0c;以后在工作中也能提供一种思路&#xff0c;其他小伙伴如果有觉得不错的方案也可以在评论区里留言&#…...

shell脚本编程(概念、编程和语句)

一、shell脚本概述 1、shell脚本概念 Shell 脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件&#xff0c;将一些 shell 的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重定向等功能。 2、Shell 脚…...

设置角色运动的动画

(1) 打开Assets-UnityTechnologies-Animation-Animators&#xff0c;Create-Animation-Controller,命名为JohnLemon (2) 打开JohnLemon&#xff0c;出现下图 (3) 依次将Assets-UnityTechnologies-Animation-Animation中的JohnIdle和JohnWalk拖放到Base Layer窗口中 (4) 右击Idl…...

OKR:2024年目标和关键成果常见问题

什么是目标和关键结果&#xff08;OKR&#xff09;&#xff1f; 目标和关键结果&#xff08;#OKR#&#xff09;是一种由结果驱动的目标制定方法。在企业中&#xff0c;OKR经常被用来指导基于结果的成功。使用结果而不是任务作为驱动力&#xff0c;OKRs 鼓励通过度量指标对实现成…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息&#xff1a;libc.so.6: cannot open shared object file: No such file or directory&#xff1a; #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...