`

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

 

   

0
2
分享到:
评论
1 楼 c30989239 2015-09-09  
注意 SimpleDateFormat 是非线程安全的

相关推荐

    java,jsp读取远程图片到本地服务器

    在Java和JSP开发中,有时我们需要处理在线编辑器上传的内容,这可能涉及到从Web页面中获取远程图片并将其保存到本地服务器。这样的功能对于确保网站的性能和用户体验至关重要,因为将图片本地化可以减少加载时间,...

    java,jsp,ajax进度条(jsp)

    在IT行业中,Java、JSP(JavaServer Pages)和Ajax(Asynchronous JavaScript and XML)是构建动态Web应用程序的重要技术。本项目"java,jsp,ajax进度条(jsp)"结合了这三种技术,旨在实现一个功能强大的进度条,...

    JAVA-JSP流量统计系统

    2. **请求与响应**:在JSP中,`request`对象用于获取客户端的请求参数,而`response`对象则用于向客户端发送响应。 3. **计数器**:统计系统的核心部分是计数器,它可以记录页面访问次数、独立访客数等。计数器可以...

    java源码包---java 源码 大量 实例

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    网络流量分析系统(jsp+servlet+ajax)

    在本系统中,jsp负责生成动态内容,如显示网络流量图表和统计数据,用户交互界面的渲染等。 2. **servlet**:servlet是Java EE中用于接收和响应HTTP请求的服务器端组件。在网络流量分析系统中,servlet主要负责处理...

    ajax+jsp实时统计用户页面在线时间

    在"ajax+jsp实时统计用户页面在线时间"的场景中,Ajax主要负责定时向服务器发送请求,告知服务器用户仍在浏览该页面。通常,我们可以设定一个定时器,每隔一段时间(如30秒)发送一次Ajax请求。请求的参数可能包括...

    Java开发技术大全(500个源代码).

    DumpMethods.java 使用反射机制来获取类中的方法 getClassName.java 利用反射机制获取类的名字 invokeConstructor.java 利用反射机制调用构造器 invokeMethod.java 利用反射机制调用成员方法 listConstructors....

    js日期时间控件 JavaScriptjs日期时间控件 jsp

    在JSP页面中,可以使用JavaScript来处理客户端的交互,而服务器端的业务逻辑和数据处理则通过JSP标签库或Java代码完成。 - 当用户在前端选择日期时间后,可以通过Ajax异步请求将选定的值发送到服务器,JSP页面接收...

    jas程序实现手表的自动刷新功能

    本示例通过一个JSP(JavaServer Pages)程序来实现一个简单的“电子手表”功能,它能实时显示系统时间并自动每隔一秒钟刷新页面,以更新时间。下面我们将深入探讨这个JSP程序的实现细节。 首先,JSP是一个基于Java...

    一个简单的JSP计时器

    在本例中,可能有一个JavaScript函数负责每隔一定时间(例如每秒)发送AJAX请求到服务器获取最新时间。服务器端JSP接收到请求后,计算当前时间并返回给客户端。 4. **JSP动作元素** 如果计时器涉及到服务器端的...

    java源码包3

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    网络在线考试jsp代码

    计算完成后,JSP可以更新数据库中的用户成绩,并显示给用户。同时,系统还可以记录用户的答题时间、错题情况等详细信息,为教学分析提供数据支持。 标签“08_网络在线考试”也暗示了这个系统可能具有持续改进和迭代...

    echarts案例(java版实现ajax获取数据,刷新)

    考虑到浏览器兼容性和网络异常情况,需要在Ajax请求中添加错误处理机制,如重试机制或显示错误提示。同时,确保ECharts版本和浏览器版本兼容,以确保图表正常显示。 综上所述,结合Java后端和ECharts前端,我们...

    java源码包2

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    Jsp网络在线考试系统源码含数据库

    在JSP在线考试系统中,Servlet负责接收用户请求,执行相应的业务逻辑,例如验证用户登录信息、获取考试题目、保存用户答案、计算成绩等。Servlet与JSP协同工作,提供动态网页服务。 三、数据库设计 数据库是系统的...

    天地网络 -JSP留言薄

    【天地网络 - JSP留言薄】是一个基于Java服务器页面(JSP)技术开发的在线留言系统,用于实现用户之间的互动交流。此系统采用MySQL作为后台数据库,存储用户的留言信息,提供了一个类似PHP留言簿的功能,但使用的是...

    获取新闻java程序

    在IT行业中,Java是一种广泛应用的编程语言,尤其在开发服务器端应用、网络服务以及Web应用程序等方面具有显著优势。本项目名为“获取新闻Java程序”,其主要目标是利用Java技术来抓取并处理实时的新闻数据,包括...

    基于JAVA的网上书店系统.pdf

    JAVA程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如JAVA程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。 3. JSP的基础——Servlet技术 ...

    jsp项目素材jsp 项目 素材 图片

    例如,从数据库中获取图片URL,然后在页面上显示。 3. CSS背景图:通过CSS样式,可以在元素的背景中设置图片,这在布局设计中非常常见。例如: ```css background-image: url('images/yourimage.jpg'); ``` 三、...

    java开发的网络留言本+设计框架

    在我们的留言本项目中,JSP可以用来渲染留言列表,显示用户提交的留言。 三、设计模式与框架 1. MVC(Model-View-Controller)模式:这是一种常用的设计模式,将业务逻辑(Model)、用户界面(View)和控制逻辑...

Global site tag (gtag.js) - Google Analytics