当前位置: 首页 > 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 鼓励通过度量指标对实现成…...

League Akari:英雄联盟玩家的智能游戏助手

League Akari&#xff1a;英雄联盟玩家的智能游戏助手 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否厌倦了在英雄联盟中重复繁琐的准备…...

出租车计价器控制电路的设计(有完整资料)

编号&#xff1a;CJ-32-2022-046设计简介&#xff1a;本设计是出租车计价器控制电路的设计&#xff0c;主要实现以下功能&#xff1a;1、出租车计价器系统以Km 为单位统计里程&#xff0c;以元为单位统计总金额&#xff1b; 2、通过霍尔传感器和电机获取速度和路程&#xff1b;…...

实验室里的“学霸”与街头上的“全才”:深度解析 PaLM 与 ChatGPT

在 AI 的史诗级进程中&#xff0c;2022 年是一个被历史铭记的分水岭。那一年&#xff0c;Google 推出了参数量惊人的 PaLM&#xff0c;展示了“暴力美学”的巅峰&#xff1b;而几个月后&#xff0c;OpenAI 的 ChatGPT 横空出世&#xff0c;彻底改变了人类与机器交互的方式。 很…...

【独家首发】ElevenLabs未公开的旁遮普文语言代码映射表(pa-Guru)及ISO 639-3适配方案,仅限本期读者下载

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs旁遮普文语音支持的现状与技术缺口 ElevenLabs 作为当前领先的 AI 语音合成平台&#xff0c;已支持超过 28 种语言&#xff0c;但截至 2024 年第三季度&#xff0c;其官方 API 文档与语音模型…...

Zotero Duplicates Merger终极教程:3步自动化清理文献重复项

Zotero Duplicates Merger终极教程&#xff1a;3步自动化清理文献重复项 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为Zotero文献库中…...

Winhance中文版:Windows系统优化终极指南,3分钟让电脑焕然一新

Winhance中文版&#xff1a;Windows系统优化终极指南&#xff0c;3分钟让电脑焕然一新 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mir…...

基于NXP芯片的跳频技术如何构建高安全汽车无钥匙进入系统

1. 项目概述与核心价值最近几年&#xff0c;汽车的无钥匙进入与启动系统&#xff08;PEPS&#xff09;几乎成了新车的标配&#xff0c;但随之而来的安全挑战也日益严峻。你可能听说过&#xff0c;甚至亲身经历过&#xff0c;不法分子利用“中继攻击”设备&#xff0c;在车主不知…...

Midjourney碳素印相风格实战手册(胶片级颗粒+铁盐棕褐渐变+微裂纹纹理全还原)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;碳素印相工艺的历史溯源与数字复刻价值 碳素印相&#xff08;Carbon Printing&#xff09;诞生于1864年&#xff0c;由英国科学家约瑟夫斯旺&#xff08;Joseph Swan&#xff09;发明&#xff0c;是摄影…...

如何构建智能的多显示器窗口布局持久化解决方案

如何构建智能的多显示器窗口布局持久化解决方案 【免费下载链接】PersistentWindows fork of http://www.ninjacrab.com/persistent-windows/ with windows 10 update 项目地址: https://gitcode.com/gh_mirrors/pe/PersistentWindows PersistentWindows 是一个开源工具…...

终极ZPL虚拟打印机指南:5步实现无硬件条码标签开发

终极ZPL虚拟打印机指南&#xff1a;5步实现无硬件条码标签开发 【免费下载链接】Virtual-ZPL-Printer An ethernet based virtual Zebra Label Printer that can be used to test applications that produce bar code labels. 项目地址: https://gitcode.com/gh_mirrors/vi/V…...