HTML如何返回服务器的时间?_html/css_WEB-ITnose
程序员文章站
2023-12-31 17:19:22
...
HTML如何返回服务器的时间?返回的时间格式为2015-12-01 11:11:11,谢谢,越简单越好。
求相关代码
回复讨论(解决方案)
没办法获取,只能后台页面输出
从后台取得后,传递给前台。。。
从后台取得后,传递给前台。。。
求相关代码
获取本地时间的代码如下,能否按此修改成获取服务器的时间?
function getTime(){ var today = new Date(); var year = today.getFullYear(); var month = today.getMonth() + 1; var day = today.getDate(); var hours = today.getHours(); var minutes = today.getMinutes(); var seconds = today.getSeconds(); if(month后台提供接口,利用ajax从接口获取服务器时间即可,示例如下
$.get("data.php",null,function(data){
document.getElementById("currentTime").innerHTML = data.time;
);后台传给前台
后台传给前台
愿闻其详现在都有推技术的。为什么不可以。用sse或websocket都可以
一个java servlet示例:
环境tomcat7 && java7 && servlet3.01
javascript:
异步servlet :TimeServiceServletimport java.io.IOException;import java.util.concurrent.ScheduledThreadPoolExecutor;import javax.servlet.AsyncContext;import javax.servlet.AsyncEvent;import javax.servlet.AsyncListener;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class TimeServiceServlet */@WebServlet(urlPatterns = {"/time"}, asyncSupported = true)public class TimeServiceServlet extends HttpServlet { private static final long serialVersionUID = 1L; //private final QueueongoingRequests = new ConcurrentLinkedQueue(); /** * @see HttpServlet#HttpServlet() */ public TimeServiceServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true); response.setContentType("text/event-stream"); response.setCharacterEncoding("UTF-8"); final AsyncContext ac = request.startAsync(); ac.setTimeout(1*1000); ac.addListener(new AsyncListener() { @Override public void onComplete(AsyncEvent event) throws IOException { System.out.println("@c"); } @Override public void onTimeout(AsyncEvent event) throws IOException { System.out.println("@t"); } @Override public void onError(AsyncEvent event) throws IOException { System.out.println("@e"); } @Override public void onStartAsync(AsyncEvent event) throws IOException { System.out.println("@s"); } }); ScheduledThreadPoolExecutor ec=new ScheduledThreadPoolExecutor(10); ec.execute(new AsyncTimeService(ac)); }}
Runnable实现类:AsyncTimeService,用以输出日期字符串import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.AsyncContext;public class AsyncTimeService implements Runnable { AsyncContext ac; public AsyncTimeService(AsyncContext ac) { super(); this.ac = ac; } @Override public void run() { // TODO Auto-generated method stub Date now=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { PrintWriter out = ac.getResponse().getWriter(); out.write("data:"+sdf.format(now)+ "\n\n"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ ac.complete(); } }}
一个java servlet示例:
环境tomcat7 && java7 && servlet3.01
javascript:
异步servlet :TimeServiceServletimport java.io.IOException;import java.util.concurrent.ScheduledThreadPoolExecutor;import javax.servlet.AsyncContext;import javax.servlet.AsyncEvent;import javax.servlet.AsyncListener;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class TimeServiceServlet */@WebServlet(urlPatterns = {"/time"}, asyncSupported = true)public class TimeServiceServlet extends HttpServlet { private static final long serialVersionUID = 1L; //private final QueueongoingRequests = new ConcurrentLinkedQueue(); /** * @see HttpServlet#HttpServlet() */ public TimeServiceServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true); response.setContentType("text/event-stream"); response.setCharacterEncoding("UTF-8"); final AsyncContext ac = request.startAsync(); ac.setTimeout(1*1000); ac.addListener(new AsyncListener() { @Override public void onComplete(AsyncEvent event) throws IOException { System.out.println("@c"); } @Override public void onTimeout(AsyncEvent event) throws IOException { System.out.println("@t"); } @Override public void onError(AsyncEvent event) throws IOException { System.out.println("@e"); } @Override public void onStartAsync(AsyncEvent event) throws IOException { System.out.println("@s"); } }); ScheduledThreadPoolExecutor ec=new ScheduledThreadPoolExecutor(10); ec.execute(new AsyncTimeService(ac)); }}
Runnable实现类:AsyncTimeService,用以输出日期字符串import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.AsyncContext;public class AsyncTimeService implements Runnable { AsyncContext ac; public AsyncTimeService(AsyncContext ac) { super(); this.ac = ac; } @Override public void run() { // TODO Auto-generated method stub Date now=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { PrintWriter out = ac.getResponse().getWriter(); out.write("data:"+sdf.format(now)+ "\n\n"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ ac.complete(); } }}这段代码好高深,以后慢慢研究。
推荐阅读
-
HTML如何返回服务器的时间?_html/css_WEB-ITnose
-
如何设置网页中的一段文字,使它的宽度是页面宽度的62%且能自动换行?_html/css_WEB-ITnose
-
如何做出图中的效果?(块级元素浮动对齐)_html/css_WEB-ITnose
-
div中有一个marquee标签,marquee中有滚动显示的文字,如何让文字在div中垂直居中从右向左滚动显示?_html/css_WEB-ITnose
-
带命名空间的action再次返回原来页面,命名空间引起的错误_html/css_WEB-ITnose
-
如何在静态页面上显示网页代码 并且高亮 就像图中的这样_html/css_WEB-ITnose
-
Dreamweaver 时间轴如何打开_html/css_WEB-ITnose
-
如何屏蔽这样的下载 请高人点拨一下,问题有图片_html/css_WEB-ITnose
-
如何还原压缩的CSS/HTML/JS文件_html/css_WEB-ITnose
-
【急】如何快速高效地复制某个网页的一部分?使这一部分的布局与样式和原网站一样_html/css_WEB-ITnose