在我们的办公室,我们通过打开网页并点击一个登记按钮来登记。点击按钮时会调用以下功能:
function checkInOutSubmit(thisController, thisAction, checkName){
var visitortime = new Date();
var visitortimezone = "GMT " + -visitortime.getTimezoneOffset() / 60;
var timeZone = jstz.determine_timezone();
var timeZoneName = timeZone.name();
var checkInCheckOut = checkName
jQuery.ajax({type:'POST',data:{checkInCheckOut:checkInCheckOut,currentController: thisController,currentAction: thisAction,timez:timeZoneName}, url:'/pms/attendanceForgot/checkInCheckOut',success:function(data,textStatus){jQuery('#successdiv').html(data);successCheckInOut();},error:function(XMLHttpRequest,textStatus,errorThrown){}});
}
但是我想点击按钮而不是当前时间。(如果我在上午11:00点击按钮,我想在上午10:00发布作为我的登记时间。)
如何做到这一点?
答案 0 :(得分:1)
此处没有足够的信息来回答您的问题。
所有这些代码所做的就是找到当前的时区,而不是当前的时间。它通过ajax请求将其传递给服务器,这让我觉得服务器端生成的时间。您可以通过将时区更改为偏移量来改变服务器上的记录时间,这会使您看起来像是在正确的时间进行计时,但是它必须是服务器上的一些严重缺陷的代码才能使其工作
几乎在所有可能的情况下,服务器都会将请求的时间作为时间和时间存储在通用时间中,当您离开它时,也会存储您在通用时间内离开的时间。 (想想一个不依赖于时区的时间点)如果你的目标是获得更多的时间,你只需要在你迟到的时候工作。如果你希望它看起来像是“按时”进入,那么改变时区可能会有所帮助,直到他们发现你从上午10点到下午6点去过那里,但只记录了7个小时。