1、编写显示时间的页面:
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>Server date/time</title>
<script language="javascript" src="serverDate.js"></script>
</head>
<script language="javascript">
var localTime = new Date()
document.write("Local machine time is: " + localTime + "<br>")
document.write("Server time is: " + date)
</script>
<body>
</body>
2、ajax脚本获取server的时间
var xmlHttp
function srvTime(){
try {
//创建xmlHttp对象
xmlHttp = new XMLHttpRequest()
}
catch (err1) {
//ie浏览器
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP')
}
catch (err2) {
try {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP')
}
catch (eerr3) {
//ajax不支持
alert("AJAX not supported")
}
}
}
//打开xmlHttp请求
xmlHttp.open('HEAD',window.location.href.toString(),false)
//设置xmlHttp请求头
xmlHttp.setRequestHeader("Content-Type", "text/html")
//发送请求
xmlHttp.send('')
// 获取response中的Date参数
return xmlHttp.getResponseHeader("Date")
}
var st = srvTime()//服务器时间赋值给st变量
var date = new Date(st)//转换js的date对象
// 输出服务器时间
document.write("服务器时间: " + date)
牙叔教程 简单易学8.7.7-0
手机和服务器时间尽可能一致
手机一般默认设置 使用网络提供的时间
这个时间和服务器的时间一定是有误差的
我们还要把这个误差考虑进去
那么, 这个误差怎么算呢
当手机向服务器查询一次当前时间,
会产生一个手机时刻A
服务器会返回一个服务器时间
服务器时间 - 网络从手机到服务器的时长 = 手机时刻B(以服务器为标准)
手机时间误差 = 手机时刻B - 手机时刻A
用脚本引擎启动一个单独的脚本, 每隔一定时间, 去校正一下两个值, 并且用本地存储存起来
每当要获取服务器的时间, 我们就可以读取本地存储, 直接用公式计算出服务器的时间, 而不用去请求服务器
Js获取当前日期时间及其它操作var myDate = new Date()
myDate.getYear() //获取当前年份(2位)
myDate.getFullYear() //获取完整的年份(4位,1970-????)
myDate.getMonth() //获取当前月份(0-11,0代表1月)
myDate.getDate() //获取当前日(1-31)
myDate.getDay()//获取当前星期X(0-6,0代表星期天)
myDate.getTime() //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours() //获取当前小时数(0-23)
myDate.getMinutes()//获取当前分钟数(0-59)
myDate.getSeconds()//获取当前秒数(0-59)
myDate.getMilliseconds() //获取当前毫秒数(0-999)
myDate.toLocaleDateString()//获取当前日期
var mytime=myDate.toLocaleTimeString()//获取当前时间
myDate.toLocaleString( ) //获取日期与时间
日期时间脚本库方法列表
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
js代码:
//---------------------------------------------------
// 判断闰年
//---------------------------------------------------
Date.prototype.isLeapYear = function()
{
return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)))
}
//---------------------------------------------------
// 日期格式化
// 格式 YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/DD/d/D 日期
// hh/HH/h/H 时间
// mm/m 分钟
// ss/SS/s/S 秒
//---------------------------------------------------