Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   if – else if – else (https://javascript.ru/forum/misc/76955-if-%E2%80%93-else-if-%E2%80%93-else.html)

Besprizornik 05.03.2019 10:52

Цитата:

Сообщение от NeoN (Сообщение 504377)
возможно, вы хотели что-то вроде этого:

var x;
var someDate=new Date(1600,1,9); //произвольная дата

насколько я понимаю var x; это переменная и её надо вставить вместо цифры 13 ?

что такое var someDate=new Date(1600,1,9); //произвольная дата и зачем?

Besprizornik 05.03.2019 11:02

Цитата:

Сообщение от NeoN (Сообщение 504381)
разное количество дней зависит от выбранного периода ведь?
тогда нужно еще откуда то брать время, по которому определить вычитаемое количество дней

как бы есть конкретная дата введённая посетителем, она попадает в var d = new Data(сюда) из этой даты вычитается определённое количество дней согласно таблице...

NeoN 05.03.2019 11:04

еще как вариант

function epoDet(y=2019,m=3,d=5){ 
	var date = new Date(y,m-1,d);
	let epar = [];
	epar[10] = [[1582,9,15],[1700,2,11]];
	epar[11] = [[1700,2,12],[1800,2,12]];
	epar[12] = [[1800,2,13],[1900,2,13]];
	epar[13] = [[1900,2,14],[2100,2,14]];
	epar[14] = [[2100,2,15],[2200,2,15]];
	epar[15] = [[2200,2,16],[2300,2,16]];
	return epar.findIndex(range=>range?date>=new Date(...range[0])&&date<=new Date(...range[1]):'');
}

var d = new Date(); 
document.addEventListener('DOMContentLoaded', function() { 
	document.querySelector('#day_gr').options[d.getDay()||7].selected = true;
	document.querySelector('#date_gr').options[d.getDate()].selected = true;
	document.querySelector('#month_gr').options[d.getMonth()+1].selected = true;
	document.querySelector('#year_gr').value = d.getFullYear();
	document.querySelector('#day_ul').options[d.getDay()||7].selected = true;
	//y,m,d - год, месяц, день вычисляемой даты
	d = new Date(new Date()-epoDet(y,m,d)*24*60*60*1000);
	document.querySelector('#date_ul').options[d.getDate()].selected = true;
	document.querySelector('#month_ul').options[d.getMonth()+1].selected = true;
	document.querySelector('#year_ul').value = d.getFullYear();
});


в таком случае в y,m,d надо вписать год, месяц день даты введенной посетителем

Besprizornik 05.03.2019 11:33

объясните По русски не что к чему

Цитата:

Сообщение от Besprizornik (Сообщение 504372)
кто нибудь может объяснить на словах что сейчас нужно сделать, создать функцию? или массив? или переменную? или ещё что?


просто на словах объясните что сейчас делать, что читать и что искать...


NeoN 05.03.2019 11:45

Цитата:

Сообщение от Besprizornik (Сообщение 504386)
объясните По русски не что к чему

объясните хотя бы алгоритм работы вашей программы...
сейчас пока можно только догадываться :)

Besprizornik 05.03.2019 11:59

есть дата, по умолчанию сегодняшняя, мы пользуемся григорианским календарём, 'вторая' в кавычках дата, это сегодняшняя дата по юлианскому календарю(старый стиль)...

Nexus 05.03.2019 12:04

Besprizornik, не могу понять, что вам нужно.
Как избавится от Индусского кода и получить вожделенное значение я показал, что еще нужно?

Besprizornik 05.03.2019 12:13

Nexus,
всего лишь краткие комментарии, чисто в двух словах, что бы я с помощью гугла смог понять что к чему...

NeoN 05.03.2019 12:16

тогда вам надо сейчас считывать данные из селекторов григорианского календаря, пропускать их через функцию, которая переведет их в значения селекторов юлианского календаря, и затем записать эти значения уже в сами селекторы. и все это обернуть в функцию
потом добавить еще, например, eventListener на изменения значения селекторов григорианского календаря, который будет запускать созданную функцию пересчета дат при любом изменении значения в григорианском календаре

Nexus 05.03.2019 12:18

Цитата:

Сообщение от Besprizornik
всего лишь краткие комментарии

краткие комментарии того, что делает код?


Часовой пояс GMT +3, время: 18:42.