如何为 primefaces 扩展计时器设置起始值
How to set a start value for a primefaces extension timer
我使用带有以下代码的 primefaces 扩展计时器:
<pe:timer
style="color:darkgrey;"
timeout="1000"
forward="false"
format="HH:mm:ss"/>
但是我有一个起始值。前面的代码从值 00:00:00 开始,但我有一个从 Java bean 开始的时间。我有一个 Date 对象,或者 date as long 类型(从 1970 年开始),这是我想要开始的值。
例如我得到 1548434800083 或 17:47 25/01/2019,我想显示这个日期和现在之间的时间。那么我如何用这个日期设置我的起始值呢?我有毫秒,但我可以得到秒而不是。
解决方案如下,我有一个 Java bean,它包含一个以毫秒为单位的日期。我通过 Java class 日期中的函数 getTime() 得到它。
我用 primefaces 代码显示我的计数器、计时器:
<pe:timer
style="color:grey;"
forward="true"
formatFunction="return displayElapsedTime('#{synopticBean.longEnteredTime}');"/>
该代码调用 javascript 函数,return 格式 counter/chronometer :
function displayElapsedTime(longEnteredTime){
var now = new Date();
var elapsedTime = now.getTime() - longEnteredTime;
var numHours = Math.floor(elapsedTime / 3600000);
var minutesAndSecondMS = elapsedTime - numHours;
var minutes = Math.floor((minutesAndSecondMS % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((minutesAndSecondMS % (1000 * 60)) / 1000);
var innerHtmlText = (('0' + (numHours)).slice(-2) + ":" +('0' + (minutes)).slice(-2) + ":" + ('0' + (seconds)).slice(-2));
return innerHtmlText;
}
它显示持续时间,小时数。我只用小时数,没有天数。
您的案例的最佳解决方案是格式化。但有时我们需要设置 primefaces 计时器的起始值:
运行 javascript:
PF('timer').currentTimeout = 100;
我使用带有以下代码的 primefaces 扩展计时器:
<pe:timer
style="color:darkgrey;"
timeout="1000"
forward="false"
format="HH:mm:ss"/>
但是我有一个起始值。前面的代码从值 00:00:00 开始,但我有一个从 Java bean 开始的时间。我有一个 Date 对象,或者 date as long 类型(从 1970 年开始),这是我想要开始的值。
例如我得到 1548434800083 或 17:47 25/01/2019,我想显示这个日期和现在之间的时间。那么我如何用这个日期设置我的起始值呢?我有毫秒,但我可以得到秒而不是。
解决方案如下,我有一个 Java bean,它包含一个以毫秒为单位的日期。我通过 Java class 日期中的函数 getTime() 得到它。
我用 primefaces 代码显示我的计数器、计时器:
<pe:timer
style="color:grey;"
forward="true"
formatFunction="return displayElapsedTime('#{synopticBean.longEnteredTime}');"/>
该代码调用 javascript 函数,return 格式 counter/chronometer :
function displayElapsedTime(longEnteredTime){
var now = new Date();
var elapsedTime = now.getTime() - longEnteredTime;
var numHours = Math.floor(elapsedTime / 3600000);
var minutesAndSecondMS = elapsedTime - numHours;
var minutes = Math.floor((minutesAndSecondMS % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((minutesAndSecondMS % (1000 * 60)) / 1000);
var innerHtmlText = (('0' + (numHours)).slice(-2) + ":" +('0' + (minutes)).slice(-2) + ":" + ('0' + (seconds)).slice(-2));
return innerHtmlText;
}
它显示持续时间,小时数。我只用小时数,没有天数。
您的案例的最佳解决方案是格式化。但有时我们需要设置 primefaces 计时器的起始值:
运行 javascript:
PF('timer').currentTimeout = 100;