大家好,才是真的好。

今天我们介绍的是时间日期处理,其实以前也讲过,主要是通过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

今天就介绍到这里吧。

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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部