Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每次用户登录javascript时转换totaltime_Javascript_Java_Spring Mvc - Fatal编程技术网

每次用户登录javascript时转换totaltime

每次用户登录javascript时转换totaltime,javascript,java,spring-mvc,Javascript,Java,Spring Mvc,我希望每次用户登录时totalTime都以可读的格式显示,但这样我只获得id(1)的时间,其余时间以毫秒为单位显示 <%@page import=" com.ephesoft.timesheet.core.model.LoginLog"%> <%@page import="java.util.List"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEn

我希望每次用户登录时totalTime都以可读的格式显示,但这样我只获得id(1)的时间,其余时间以毫秒为单位显示

<%@page import=" com.ephesoft.timesheet.core.model.LoginLog"%>
<%@page import="java.util.List"%>
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01   Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
    function convertTime(milliSeconds) {

        var str, days, hours, minutes, seconds;

    if (milliSeconds > 0) {

        milliseconds = milliSeconds;
        days = Math.floor(milliseconds / (24 * 60 * 60 * 1000));
        if (days < 0) {
            days = 0;
        }
        milliseconds -= days * 24 * 60 * 60 * 1000;

        hours = Math.floor(milliseconds / (60 * 60 * 1000));
        if (hours < 0) {
            hours = 0;
        }
        milliseconds -= hours * 60 * 60 * 1000;

        minutes = Math.floor(milliseconds / (60 * 1000));

        if (minutes < 0) {
            minutes = 0;
        }
        milliseconds -= minutes * 60 * 1000;

        seconds = Math.floor(milliseconds / (1000));
        if (seconds < 0) {
            seconds = 0;
        }

    } else {
        days = hours = minutes = seconds = 0;
    }

    str = days + ":" + hours + ":" + minutes + ":" + seconds;

    return str;

    };
</script>
</head>

 <table border="1">
<thead>
    <tr>
        <td>Login Id</td>
        <td>Login Time</td>
        <td>Logout Time</td>
        <td>Total Time(in Minutes)</td>
    </tr>
    </thead>
      <--- changes for Date --->
    <%
        List<LoginLog> log = (List<LoginLog>)       r    equest.getAttribute("loginList");
      if(log != null) {
       for(LoginLog login : log) {
       String format = new SimpleDateFormat("EEE, d MMM yyyy  ",    Locale.ENGLISH).format(login.getLoginTime());


%>
<---    --->
    <tr>
    <td><%=login.getId()%></td>
    <td><%=login.getLoginTime()%></td>
    <td><%=login.getLogoutTime()%></td>




    <td id="a"><span id="time"><%=login.getTotalTime()%></span> <script>
                var milliSeconds =     document.getElementById("time").innerHTML;

                var c = convertTime(milliSeconds);
                document.getElementById("a").innerHTML = c;
            </script></td>

    </tr>
    <%
        }
        }
    %>
</table>
</form>
</body>
</html>
can anyone please tell me appropriate way? THANKS.

在此处插入标题
函数转换时间(毫秒){
变量str,天,小时,分钟,秒;
如果(毫秒>0){
毫秒=毫秒;
天数=数学下限(毫秒/(24*60*60*1000));
如果(天数<0){
天数=0;
}
毫秒-=天*24*60*60*1000;
小时=数学下限(毫秒/(60*60*1000));
如果(小时<0){
小时=0;
}
毫秒-=小时*60*60*1000;
分钟=数学下限(毫秒/(60*1000));
如果(分钟<0){
分钟=0;
}
毫秒-=分钟*60*1000;
秒=数学下限(毫秒/(1000));
如果(秒<0){
秒=0;
}
}否则{
天=小时=分钟=秒=0;
}
str=天+“:“+小时+”:“+分钟+”:“+秒;
返回str;
};
登录标识
登录时间
注销时间
总时间(分钟)
var毫秒=document.getElementById(“时间”).innerHTML;
var c=转换时间(毫秒);
document.getElementById(“a”).innerHTML=c;
谁能告诉我合适的方法吗?谢谢

您的问题在于这段代码

<table border="1">
  <thead>
   <tr>
      <td>Login Id</td>
      <td>Login Time</td>
      <td>Logout Time</td>
      <td>Total Time(in Minutes)</td>
   </tr>
  </thead>


<%
    List<LoginLog> log = (List<LoginLog>)request.getAttribute("loginList");
    if(log != null) {
       for(LoginLog login : log) {
%>
<tr>
<td><%=login.getId()%></td>
<td><%=login.getLoginTime()%></td>
<td><%=login.getLogoutTime()%></td>

<!-- changes --> 
<td id="a<%=login.getId()%>"><span id="time<%=login.getId()%>"><%=login.getTotalTime()%></span> <script>
            var milliSeconds =     document.getElementById("time<%=login.getId()%>").innerHTML;

            var c = convertTime(milliSeconds);
            document.getElementById("a<%=login.getId()%>").innerHTML = c;
        </script></td>

</tr>
<%
    }
 }
%>
</table>
会发现第一次发生,这就是为什么你总是有相同的日期

要使其工作,您应该使您的id唯一,以下是一个选项:

<span id="time<%login.getId()%>">

以及稍后的JS代码

var milliSeconds =     document.getElementById("time"<%=login.getId()%>).innerHTML;
var毫秒=document.getElementById(“时间”).innerHTML;

@Vivek您能解决唯一id问题吗?“现在工作吗?”维韦克:我肯定会编辑我的回复。当我调试原始代码时,它只对原始代码进行了一些更改,在这一行**var millides=document.getElementById(“time”1).innerHTML;**….后的参数列表*显示syntaxerror*缺失)@Vivek my bad语法不正确,是这样的:var millizes=document.getElementById(“time”).innerHTML;hii@cralfaro,它每次更新id(1),而不是更新新id的记录。?@Vivek我刚刚更新了我的响应,问题还是一样的,但是对于标记,请记住,当您在标记元素中使用id时,这些元素在代码中必须是唯一的,或者当您运行document.getElementById('id')时,您将始终得到第一次出现
var milliSeconds =     document.getElementById("time"<%=login.getId()%>).innerHTML;