Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-11-08 21:01:20

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Проверьте JS.

Вывод номера недели, начиная с 1 сентября:

<script type="text/javascript">    
d0 = new Date('September 1, 2010');    
d0.setYear((new Date()).getMonth() < 9 ? (new Date()).getFullYear() - 1 : (new Date()).getFullYear());    
d1 = new Date();    
dt = (d1.getTime() - d0.getTime()) / (1000*60*60*24*7);    
document.write('<center> Сейчас идет <B>' + Math.round(dt+1) + '</B>-я</a> неделя.</center>');    
</script>

Можно ли без +1 реализовать?

Изменено infinity237 (2010-11-08 22:18:56)

Не в сети

#2 2010-11-09 22:29:54

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Проверьте JS.

up

Не в сети

#3 2010-11-10 04:26:06

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Проверьте JS.

infinity237, а оно у тебя точно корректно работает? smile
round делает математическое округление, тебе бы использовать ceil, он делает "округление до ближайшего целого, которое равно или более указанного параметра".

А вообще - в чём суть задачи?
Яндекс предложил вот такой метод вычисления номера недели:

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

// ...
var p= new Date();

document.writeln(p);
document.writeln(p.getWeek());

взято отсюда

Не в сети

#4 2010-11-10 16:39:20

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Проверьте JS.

Суть задачи - вывести номер недели, считая что начало отсчёта 1 сентября.
Требуется для образовательного сайта, чтобы показать номер учебной недели и в зависимости от этого вывести расписание.
Исходный вариант вроде нормально работает, например сейчас показывает 11 неделя, что соответствует действительности.

Не в сети

Подвал раздела

Работает на FluxBB