当天的号码 - 不同的电脑,不同的日子

时间:2013-08-14 00:10:20

标签: javascript

我使用this function in About.com来获取今年的今天数字(例如:226)。但是我在不同的计算机上得到不同的结果(正确和+1天),使用this calculator我也得到错误的+1天值。但是使用this one我会获得正确的日期编号。我测试的所有计算机都有正确的日期,小时,时区。

实施例。现在是午夜过了8分钟,所以我得到了正确的一天(226),但在整天午夜之前应该是225,我得到了226.

我认为功能正常,所以问题应该在哪里?

由于

1 个答案:

答案 0 :(得分:1)

您在客户端时间和服务器时间之间感到困惑..网站..

http://mistupid.com/calendar/dayofyear.htm正在使用javascript计算使用以下公式的日期

var DayOfYear = Math.ceil((EnteredDate.getTime() - startofyear.getTime()) / one_day) + 1

但是,第二个网站(http://www.epochconverter.com/epoch/daynumbers.php)正在使用服务器时间来计算一年中的某一天。

根据UTC时间更新以获取天数。

Date.prototype.getDOY = function() {
   var onejan = new Date(this.getFullYear(),0,1);
   return Math.ceil((this - onejan) / 86400000);
}


function convertDateToUTC(date) { return new Date(date.getUTCFullYear(),    
  date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(),    
  date.getUTCSeconds()); }

  var today = new Date();
  var a = convertDateToUTC(today);
  var daynum = a.getDOY();

  alert(a);
  alert(daynum);