문제 : 클라이언트 날짜 시간 및 서버의 날짜 시간의 차이를 계산해야 내 ASP.NET MVC 프로젝트에서 시간과 다음 문제를 해결하고있다. 나는 자바 스크립트 함수를 가지고 있는데, timeStamp 매개 변수 = getNow()와 함께 서버 (Ajax 쿼리)에 서버 (DateController)에 코드가있다.
....
var clientMs = long.Parse(Request.QueryString["t"]);
var dt1970 = new DateTime(1970, 1, 1, 0, 0, 0);
var msFrom1970 = (DateTime.Now - dt1970).TotalMilliseconds
+(DateTime.UtcNow - DateTime.Now).TotalMilliseconds;
var timeOffset = msFrom1970 -clientMs;
return new JsonResult
{
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = new { responseText = timeOffset.ToString()
};
}
그러나 타임 오프셋이 잘못 계산됩니다
getNow: function() {
var date = new Date();
return (date.getTime() + (date.getTimezoneOffset() * 60000));
}
다음, 서버 측에서 내가있는 내가 밀리 초 단위로 날짜 차이를 계산해야 DateController 있습니다. 작은 콘솔 앱에서이 논리를 확인하려고합니다.
class Program
{
static void Main(string[] args)
{
var clientMs = 1304411645875;
//value of clientMs I get from javaScript by using page
//http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_gettime
//with this script
/*
<HTML>
<body>
<script type="text/javascript">
var d=new Date();
document.write(d.getTime());
</script>
</body>
</HTML>
*/
var dt1970 = new DateTime(1970, 1, 1, 0, 0, 0);
var msFrom1970 = (DateTime.Now - dt1970).TotalMilliseconds
+(DateTime.UtcNow - DateTime.Now).TotalMilliseconds;
Console.WriteLine(msFrom1970);
Console.ReadLine();
}
}
차이는 약 시간입니다. 내 실수 나 다른 문제가 발생했음을 누군가가 알 수 있습니까?
는 뜻 "차이"를합니까? – jackJoe
예. 철자에 대해 죄송합니다. 나는 그것을 고쳤습니다. – Roman