bha*_*thi 2 java time grails date date-arithmetic
我有一个搜索按钮,当用户点击搜索按钮时,会调用search()方法.我需要计算在谷歌搜索中看到向用户显示结果所花费的时间.
这是我的代码.
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate;
def startTime() {
Calendar cal = Calendar.getInstance();
System.out.println("Current milliseconds since 13 Oct, 2008 are :"
+ cal.getTimeInMillis());
long startTime=cal.getTimeInMillis();
/*Date startNow = new Date();
strDate = sdfDate.format(startNow);
Date startTime=sdfDate.parse(strDate);
print "startTime"+startTime*/
return startTime;
}
def endTime(){
Calendar cal = Calendar.getInstance();
System.out.println("Current milliseconds :"
+ cal.getTimeInMillis());
long endTime=cal.getTimeInMillis();
/*Date endNow = new Date();
print "endNow"+endNow
strDate = sdfDate.format(endNow);
Date endTime=sdfDate.parse(strDate);
print "endTime"+endTime*/
return endTime;
}
def differenceTime(long startTime,long endTime){
print "requestEndTime"+endTime
print "requestStartTime"+startTime
long timeDifference = endTime - startTime;
return timeDifference;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我试图获取开始时间和结束时间,并尝试计算差异.我知道我实施的方式是否正确?请告诉我通常如何计算时差.
而不是使用Calendar它更容易使用System.currentTimeMillis():
def startTime() {
long startTime=System.currentTimeMillis();
return startTime;
}
Run Code Online (Sandbox Code Playgroud)
基于System.currentTimeMillis()计算时间差在Java中很常见,你会做得对(我的意思是endTime - startTime)
所以,你的代码看起来像:
long startTime = System.currentTimeMillis();
// .....
// processing request
// .....
long endTime = System.currentTimeMillis();
long differenceTime = endTime - startTime;
log.debug("Request time: " + differenceTime);
//or
log.debug("Request time: " + TimeUnit.MILLISECONDS.toSeconds(differenceTime) + " sec");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18910 次 |
| 最近记录: |