喝咖啡的猫的gravatar头像
喝咖啡的猫 2016-03-24 13:06:29
Java获取网络时间并在jsp网页中显示

开发中经常会遇到需要将服务器时间或者网络时间显示在浏览器上,在网上查找了好久也没找到一套完整的代码,自己花了点时间完成了,现总结下来,希望能给其他像我一样查找这个问题的人一个帮助。

     实现原理:

         在页面加载的时候,调用Java方法取得最新的网络时间,然后将此网络时间赋到js的getTime方法中,在getTime方法中对取得的时间做分析和累加操作,最后将结果显示在jsp页面上。

     第一步,Java 获取网络时间

   

 

public class TimeUtil {  

   /** 

    * @author 2015-09-07  

    * @功能:获取网络最新时间 

    * @return 

    */  

    private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

    public static String getDateTime(){  

  

    try {   

           NTPUDPClient timeClient = new NTPUDPClient();   

           InetAddress timeServerAddress = InetAddress.getByName("time-a.nist.gov");  

           TimeInfo timeInfo = timeClient.getTime(timeServerAddress);   

           TimeStamp timeStamp = timeInfo.getMessage().getTransmitTimeStamp();   

            String date = dateFormat.format(timeStamp.getDate());  

            return date;   

       } catch (UnknownHostException e) {   

           e.printStackTrace();   

           return dateFormat.format(new Date());  

       } catch (IOException e) {   

           return dateFormat.format(new Date());  

       }  

    }  

}  

        第二步,将时间显示在jsp中

 

    

Js代码 

function add_zero(temp)    

{    

    if(temp<10){  

        return "0"+temp;  

    }else{  

        return temp;  

    }     

}    

//取得网络时间  

function getTime(date){  

  

 // 取服务器时分秒  

 var date=new Date(date);  

   

 var hour = date.getHours();   

 var minuts = date.getMinutes();  

 var second = date.getSeconds();     

 var week = new Array("星期日""星期一""星期二""星期三""星期四""星期五""星期六")[date.getDay()];  

 var year = date.getFullYear(); //获取完整的年份(4位,1970-????)  

 var month = date1.getMonth()+1; //获取当前月份(0-11,0代表1月)  

 var day = date1.getDate(); //获取当前日(1-31)  

 second++;  

 if(second>=60){ //判断秒是否到60, 是则进位  

    second = 0;  

    minuts++;  

    }   

if(minuts>=60){ //判断分是否到60, 是则进位      

 minuts = 0;     

 minuts++;     

 }       

 newdate=year+"-"+month+"-"+day+" "+hour+":"+minuts+":"+second;          

 var display = year+"年"+month+"月"+day+"日 "+add_zero(hour)+":"+add_zero(minuts)+":"+add_zero(second)+" "+week;           

$("#dvSystemTime").html(display);      

setTimeout("getTime(newdate)", 1000);   }  //页面加载时运行  

window.onload=function(){      

var url = $.getContextPath("/getTime");      

$.ajax({             

url:url,             

type:'post',            

 data:'',             

async : true//默认为true 步             

error: function (XMLHttpRequest, textStatus, errorThrown) {           

alert("报错啦!");          },             

success:function(data){              

getTime(data);          }      });  }  

以上就是完整的获取网络时间,并将其显示在jsp页面上的代码,如有意见,欢迎广大博友指正。


打赏
最近浏览
annazhang  LV29 2021年9月26日
zengxuebin  LV1 2021年3月17日
Pluto-wangjun  LV1 2020年3月29日
123xxh 2020年1月19日
暂无贡献等级
DoubleL  LV1 2020年1月7日
bottlechen  LV1 2018年4月27日
逝水流  LV1 2017年10月21日
温柔的小白  LV8 2017年8月24日
yzc2219  LV9 2017年8月18日
落叶飘红  LV5 2017年8月18日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友