
该时间格式为UTC格式,"+00:00","+"代表是东边的时区,当"+"变成"-"时,代表是西边的时区,后面紧接着的两个数字代表的是具体那个时区,如"+08"代表东八区,":"后的两个数代表和伦敦协调时偏差多少分钟。
将该时间格式改成"YYYY-mm-dd HH:MM:SS"等格式,则需要处理后端返回时区与本时区时间的偏差。js的Date对象提供getTimezoneOffset函数,用于获取本时区与伦敦协调时的时间差,返回数值的单位是分钟。
Date对象的toLocaleDateString函数,在PC端和移动端有差别,在安卓移动端会比PC端的返回值多"上午"、"下午"等。
没有直接使用new Date(value)来获取日期,是因为在IOS系统下,年月日的分隔符只有是"/"的字符串(如"2019/09/09")用new Date(string)得到正确的日期。
还有另一种格式GMT,相较于UTC格式,GMT没有那么精确,不能具体到毫秒。
以下内容为追加GMT格式转换
参考:
JS *** 作时间 - UNIX时间戳简单介绍 - 阿胜4K
世界协调时间(UTC)
MDN Date
这边写了段代码,请保存为html文件测试
<!DOCTYPE html>
<html>
<body>
<h2>格式化日期时间</h2>
<p id="demo"></p>
<script>
var d = new Date();
var myhour=dgetHours();
if(myhour<12)
{myhour=" 上午"+myhour;}
else
{myhour=" 下午"+(myhour-12);}
documentgetElementById("demo")innerHTML = dgetFullYear()+"年"+(dgetMonth()+1)+"月"+dgetDate()+"日"+myhour +"时"+ dgetMinutes()+"分" ;
</script>
</body>
</html>
正如楼上所说的,js只能 *** 作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
获取系统当前小时展示不同的时间状态
data(){
return{
sayHello:undefined
}}
constnow=newDate()
consthour=nowgetHours()
if(hour<6) {
thissayHello='凌晨好'
}elseif(hour<9) {
thissayHello='早上好'
}elseif(hour<12) {
thissayHello='上午好'
}elseif(hour<14) {
thissayHello='中午好'
}elseif(hour<17) {
thissayHello='下午好'
}elseif(hour<19) {
thissayHello='傍晚好'
}elseif(hour<22) {
thissayHello='晚上好'
}else{
thissayHello='夜里好'
}
},
以上就是关于js Date时区矫正全部的内容,包括:js Date时区矫正、咨询一个web前端时间显示问题,时间现在显示为月日年和英文pm,如何强制显示为年月日下午、js如何取得服务器时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)