Primefaces 素数扩展定时器

Primefaces 素数扩展定时器,primefaces,timer,momentjs,primefaces-extensions,Primefaces,Timer,Momentjs,Primefaces Extensions,我正在尝试使用如下格式制作primefaces扩展倒计时计时器: <pe:timer id="time_remaning" timeout="800" format="DDD [days,] HH:mm:ss" immediate="true"/> 还押时间:3天,01:15:22 所以我添加了pe:timer组件,并设置如下格式: <pe:timer id="time_remaning" timeout="800" format="DDD [days,] HH:mm:ss"

我正在尝试使用如下格式制作primefaces扩展倒计时计时器:

<pe:timer id="time_remaning" timeout="800" format="DDD [days,] HH:mm:ss" immediate="true"/>
还押时间:3天,01:15:22

所以我添加了pe:timer组件,并设置如下格式:

<pe:timer id="time_remaning" timeout="800" format="DDD [days,] HH:mm:ss" immediate="true"/>

但它并没有像预期的那样工作。我得到: 1天,00:13:20

但是超时的“天”部分应该是0,而不是1。我的格式化程序有错误吗?我从中获得了格式化程序参数,如文档中所述


或者我需要在本例中使用自定义formatFunction,还是只有Formatter可以做到这一点?

我无法使用Formatter,所以我使用FunctionFormatter来完成工作

以下是我的.xhtml代码:

<pe:timer id="time_remaning" timeout="#{myBean.getTimeForTimeoutInSeconds()}" 
    formatFunction="return formatMe(value);" />

以及.js格式函数:

window.formatMe = function (value) {
    var numDays = Math.floor(value / 86400);
    var numHours = Math.floor((value % 86400) / 3600);
    var numMinutes = Math.floor(((value % 86400) % 3600) / 60);
    var numSeconds = ((value % 86400) % 3600) % 60;
    return numDays + " dni, " + pad(numHours, 2) + " : "
        + pad(numMinutes, 2) + " : " + pad(numSeconds, 2) + " ";
}

function pad(num, size) {
    var s = num+"";
    while (s.length < size) s = "0" + s;
    return s;
}
window.formatMe=函数(值){
变量numDays=数学下限(值/86400);
var numHours=数学楼层((值%86400)/3600);
var numMinutes=数学地板((值%86400)%3600)/60);
var numSeconds=(值%86400)%3600)%60;
返回numDays+“dni”+“pad(numHours,2)+”:”
+pad(numMinutes,2)+“:“+pad(numSeconds,2)+”;
}
功能板(数量、大小){
var s=num+“”;
而(s.length
我无法使用Formatter,所以我使用FunctionFormatter来完成工作

以下是我的.xhtml代码:

<pe:timer id="time_remaning" timeout="#{myBean.getTimeForTimeoutInSeconds()}" 
    formatFunction="return formatMe(value);" />

以及.js格式函数:

window.formatMe = function (value) {
    var numDays = Math.floor(value / 86400);
    var numHours = Math.floor((value % 86400) / 3600);
    var numMinutes = Math.floor(((value % 86400) % 3600) / 60);
    var numSeconds = ((value % 86400) % 3600) % 60;
    return numDays + " dni, " + pad(numHours, 2) + " : "
        + pad(numMinutes, 2) + " : " + pad(numSeconds, 2) + " ";
}

function pad(num, size) {
    var s = num+"";
    while (s.length < size) s = "0" + s;
    return s;
}
window.formatMe=函数(值){
变量numDays=数学下限(值/86400);
var numHours=数学楼层((值%86400)/3600);
var numMinutes=数学地板((值%86400)%3600)/60);
var numSeconds=(值%86400)%3600)%60;
返回numDays+“dni”+“pad(numHours,2)+”:”
+pad(numMinutes,2)+“:“+pad(numSeconds,2)+”;
}
功能板(数量、大小){
var s=num+“”;
而(s.length