通过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 JAVASESSION
	Dim timerClass As JAVACLASS
	Dim timerObject As JavaObject
	Dim diff As Long

	Set js = New JAVASESSION
	Set timerClass = js.GetClass("ElapsedTime")
	Set timerObject = timerClass.CreateObject

	Call 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 Nothing
		Set note=view.Getnextdocument(note)	
	Loop

	Call timerObject.end

	diff = timerObject.duration()

	MsgBox  "遍历所有设计元素总共花费" & CStr(diff) & " 毫秒."

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

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

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

今天就介绍到这里吧。

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

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 19:16:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 19:16:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 19:16:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 19:16:01       18 阅读

热门阅读

  1. BSP驱动教程-CAN/CANFD/CANopen知识点总结分享

    2024-06-18 19:16:01       5 阅读
  2. 实习日记(一)

    2024-06-18 19:16:01       6 阅读
  3. LeetCode 746.使用最小花费爬楼梯

    2024-06-18 19:16:01       4 阅读
  4. vue.extend解决vue页面转构造函数暴露js供全局使用

    2024-06-18 19:16:01       6 阅读
  5. read code and make summer (python)

    2024-06-18 19:16:01       6 阅读
  6. XLM-RoBERTa 是一种多语言版本的 RoBERTa 模型

    2024-06-18 19:16:01       8 阅读
  7. SparkMd5-对文件名称加密

    2024-06-18 19:16:01       7 阅读