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中

 

    

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.οnlοad=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页面上的代码,如有意见,欢迎广大博友指正。

 

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值