0

我在 About.com中使用此功能来获取当年的今天数字(例如:226)。但是我在不同的计算机上得到了不同的结果(正确和 +1 天),使用这个计算器我也得到了错误的 +1 天值。但是使用这个我得到了正确的天数。我测试的所有计算机都有正确的日期、小时、时区。

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

我想功能没问题,那么问题应该出在哪里?

谢谢

4

1 回答 1

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);
于 2013-08-14T00:39:08.693 回答