web网页服务器时间,HTML如何返回服务器的时间?_html/css_WEB-ITnose

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 < 10){ month = "0" + month; } if(day < 10){ day = "0" + day; } if(hours < 10){ hours = "0" + hours; } if(minutes < 10){ minutes = "0" + minutes; } if(seconds < 10){ seconds = "0" + seconds; } var time = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds; document.getElementById("currentTime").innerHTML = time; setTimeout("getTime()",1000); }

后台提供接口,利用ajax从接口获取服务器时间即可,示例如下

$.get("data.php",null,function(data){

document.getElementById("currentTime").innerHTML = data.time;

);

后台传给前台

后台传给前台

愿闻其详

现在都有推技术的。为什么不可以。用sse或websocket都可以

一个java servlet示例:

环境tomcat7 && java7 && servlet3.01

javascript:

异步servlet :TimeServiceServlet

import 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 Queue ongoingRequests = 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 stubrequest.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;}@Overridepublic void run() {// TODO Auto-generated method stubDate 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 blocke.printStackTrace();}finally{ac.complete();}}}

一个java servlet示例:

环境tomcat7 && java7 && servlet3.01

javascript:

异步servlet :TimeServiceServlet

import 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 Queue ongoingRequests = 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 stubrequest.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;}@Overridepublic void run() {// TODO Auto-generated method stubDate 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 blocke.printStackTrace();}finally{ac.complete();}}} 这段代码好高深,以后慢慢研究。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值