js获取服务器端时间

隐形的喷火龙 / 2023-04-28 / 原文

平常获取时间一般都是用new Date()来获取时间,但有时不能直接这么做,因为这样得到的仅仅是客户端的时间,这个是可以随意更改的,而且也跟时区有关,不同时区得到的时间也不一样。像某些场合,比如商品优惠的时间是依据后台服务器的时间的。这里暂时有两种方法去获取:

方法1:jquery

function getServerDate() {
              return new Date($.ajax({ async: false }).getResponseHeader("Date"));
          }

方法2:原生js

function getServerDate2() {
              let xmlHttp = new XMLHttpRequest();
              if (!xmlHttp) {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
              } else {
                  xmlHttp = new window.XMLHttpRequest();
              }
              xmlHttp.open("HEAD", location.href, false);
              xmlHttp.send();
              let severtime = new Date(xmlHttp.getResponseHeader("Date"));
              return severtime;
          }