<p id="labTime">
<script type="text/javascript">
//取客户端时间
setInterval("labTime.innerText=new Date().toLocaleString()", 1000) //每1000毫秒(即1秒) 执行一次本段代码
</script>
</p>

获取服务器时间:
var xmlHttp = false;
//获取服务器时间
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}

xmlHttp.open("GET", "null.txt", false);
xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null);

severtime = new Date(xmlHttp.getResponseHeader("Date"));

//获取服务器日期
var year = severtime.getFullYear();
var month = severtime.getMonth() + 1;
var date = severtime.getDate();
//获取服务器时间
var hour = severtime.getHours();
var minu = severtime.getMinutes();
var seco = severtime.getSeconds();
var week = ' 星期' + '日一二三四五六'.charAt(severtime.getDay());

//格式化输出服务器时间
function getSeverTime() {
seco++;
if (seco == 60) {
minu += 1;
seco = 0;
}
if (minu == 60) {
hour += 1;
minu = 0;
}
if (hour == 24) {
date += 1;
hour = 0;
}
//日期处理
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if (date == 32) {
date = 1;
month += 1;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (date == 31) {
date = 1;
month += 1;
}
} else if (month == 2) {
if (year % 4 == 0 && year % 100 != 0) {//闰年处理
if (date == 29) {
date = 1;
month += 1;
}
} else {
if (date == 28) {
date = 1;
month += 1;
}
}
}
if (month == 13) {
year += 1;
month = 1;
}
sseco = addZero(seco);
sminu = addZero(minu);
shour = addZero(hour);
sdate = addZero(date);
smonth = addZero(month);
syear = year;

innerdata = "现在时间:";
document.getElementById("servertime").innerHTML = innerdata + syear + "-" + smonth + "-" + sdate + " " + shour + ":" + sminu + ":" + sseco + " " + week;
setTimeout("getSeverTime()", 1000);
setTimeout("getClientTime()", 100);
}

function addZero(num) {
num = Math.floor(num);
return ((num <= 9) ? ("0" + num) : num);
}

<body onload="getSeverTime();" > //放到body里面让浏览器加载时运行
<p id="servertime"></p> //把这个放在要显示的地方
</body>

原文:https://blog.csdn.net/bingle14/article/details/50965666

利用JS获取本地时间和服务器时间的更多相关文章

  1. 利用js 获取本日 本周 本月时间代码

    function showToDay() { var Nowdate=new Date(); M=Number(Nowdate.getMonth())+1 alert(Nowdate.getMonth ...

  2. 利用JS获取地址栏的中文参数

    地址栏中为:localhost:22865/ZYHSYY.aspx?BQH=305&DoctorName=张三&DoctorId=100我想利用JS获取到“张三”,请问该如何写js?目 ...

  3. java 在web应用中获取本地目录和服务器上的目录不一致的问题

    先来讲讲我所遇到的问题.最近有个新的项目添加新的功能. 修改之后部署到服务器上面发现取到classpath目录跑到别的地方去了.在本地测试却正常. 当时毛的着火了.硬是想不懂什么问题. 终于发现了这个 ...

  4. java 项目时间和服务器时间不一致

    今天线上项目关于时间的几个任务都出了问题,查看日志发现日志的时间不对,用的是log4j,日志输出的时间都早了很长时间. 1 首先先登上服务器查看了服务器的系统时间 linux下 date命令 时间正确 ...

  5. 利用js获取时间并输出值

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. Js 获取 本周、本月起始时间

    涉及到显示本月或本周相关信息,又不想让php去判断,只好直接用js去计算,麻烦了好一阵,还是老老实实的看了下js的日期函数.现总结一下: //计算本周起始日期,并以 Y-m-d 形式返回.    fu ...

  7. Js获取当前的日期和时间以及时间戳转化为时间

    /** *获取当前时间 *format=1精确到天 *format=2精确到分 */ function getCurrentDate(format) { var now = new Date(); v ...

  8. js获取格式化后的当前时间

    代码如下: function getFormatDate() { var day=new Date(); var Year=0; var Month=0; var Day=0; var Hour = ...

  9. js获取前几天的时间及时间区间

    /** * 以startDate为开始日期,计算时隔days天之后 的日期区间 * @param startDate 开始日期 * @param days 时间间隔天数 */ function get ...

随机推荐

  1. 深入理解java虚拟机(八)类加载过程详解

    类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation).解析(Resolution).初始化(In ...

  2. C++ 动态分配二维和三维数组

    目的:熟悉c++动态内存分配 描述:使用c++程序定义动态数组类,使用new和delete操作符实现动态二维数组和三维数组的定义 //main.cpp //主程序类 #include <iost ...

  3. delphi数组之菜鸟篇

    数组是可以通过索引来引用的同类型数据的列表.按照存储空间的获取方式,Delphi支持的数组类型有两种,即静态数组和动态数组.所谓静态数组就是在声明时就已经确定大小的数组类型,而动态数组是指其大小在声明 ...

  4. Android-获取网络图片设置壁纸

    下载图片,设置壁纸 的代码: package liudeli.async; import android.app.Activity; import android.app.ProgressDialog ...

  5. java-03 变量与运算符

    1.java中的变量与常量 1.1 变量的定义: 变量,顾名思义就是会变的量,这种思想来源于数学,指的是一个不确定的量或者随时会改变的量. 在我们进行编程的过程中,有一些东西是会随着实际情况而发生变化 ...

  6. 创建第一个MVC专案--初识MVC

    MVC1.0正式版2009就上市了,可自己今年才开始去接触,汗颜~ 自己在学的过程中也看过一些文章,很多都是大致介绍的没有连接数据库实现下操作,直至自己买了本后发现MVC有很强大的数据库操作类已封装好 ...

  7. Windowsform datagridview选中向父窗口传值

    Datagridview mouseclick事件 private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { i ...

  8. 使用SqlBulkCopy进行批量插入数据时踩过的坑

    之前一直都没用过SqlBulkCopy关键字进行数据插入,更没了解过. 事因:因业务需要在数据表中添加两列,然后将数据插入进表中 之前都是这样写的 dt.Columns.Add(new DataCol ...

  9. Linux使用私钥公钥(Public key)登录 - 免密码登录

    为了更安全.方便的登录Linux服务器,可以取消密码登录,使用私钥公钥的方式来登录,更方便也更安全. 生成密钥 借助Xshell可以很方便的生成和管理私钥,点击工具菜单,选择新建用户密钥生成向导: 直 ...

  10. docker-compose 命令

    docker-compose初试及命令基础 以一个简单的lnmp.yaml的配置文件进行讲解docker-compose命令的基础讲解,熟练掌握命令 [root@docker lnmp]# cat l ...