Показать сообщение отдельно
  #4 (permalink)  
Старый 06.11.2013, 00:19
Аспирант
Отправить личное сообщение для Apollon Посмотреть профиль Найти все сообщения от Apollon
 
Регистрация: 01.11.2013
Сообщений: 42

Если вы тоже новичок в программировании и вам интересно, что именно я нагородил в коде, то я расписал свои действия и вы можете с ними ознакомиться. Только следует учитывать, что даты выводимые объектом Date(), с учетом времени установленном на вашем ПК.
//Вывод окна с запросом для пользователя
var day = prompt("Введите количество дней от 1 до 1000");
	//создаем функцию
function myDate (myDay) {
	//Помещаем объект Date() в переменную
	var now = new Date();
	//Помещаем кол-во миллисек, прошедших с начала отсчета по сегодн число в переменную
	var from1970 = now.getTime();
	//Создаем переменную со значением равному кол-ву милесек в веденных пользователем количестве дней
	var userMyDay = 1000*60*60*24*myDay;
	//Создаем новый объект Date() для даты, равной текущей дате плюс кол-во дней выбранным пользователем
	//т.е. для той даты которая будет через кол-во дней выбранным пользователем от текущей даты (дата Х)
	var res = new Date(userMyDay + from1970);
	//Создаем массив для вывода дня недели в строковом варианте
	var myDays = ["Восскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
	//Помещаем объект Date() для даты Х в переменную week
	var week = new Date(res);
	//Узнаем методом getDay() число дня недели для даты Х. Это число соответсвует порядку расположения элементов в массиве myDays и, соответственно, берет из масива необходимый элемент
	var weekX = myDays[week.getDay()];
	//Узнаем методом getDate() число дня для даты Х
	var dayX = res.getDate();
	//Узнаем методом getMonth() число месяца для даты Х
	var monthX = res.getMonth() + 1;
	//Узнаем методом getFullYear() число года для даты Х
	var yearX = res.getFullYear();
	//подставляем нули для чисел < 10
	if(dayX < 10){
			var dayX = "0" + dayX;
		}
	if(monthX < 10){
		var monthX = "0" + monthX;
	}
	//Задаем услвие для ввода кол-ва дней
	if (day < 1 || day > 1000  || isNaN(day)){
		document.write("Вы ввели не коректное число");

	}

	//Тут я склонял слово "дней" (главное не путь порядок расстановки if / else). Завтра попробу сделать методом, который посоветовал ронни
	else if ((day[day.length - 2] == 1)  && (day[day.length - 1] ==  1)){
		document.write("Через " + day + " дней будет " + weekX + " " + dayX + "." + monthX + "." + yearX + " год");
	}

	else if (day[day.length - 1] == 1){
		document.write("Через " + day + " день будет " + weekX + " " + dayX + "." + monthX + "." + yearX + " год");
	}

	else if ((day[day.length - 2] == 1 && day[day.length - 1] == 1) || (day[day.length - 2] == 1 && day[day.length - 1] == 2) || (day[day.length - 2] == 1 && day[day.length - 1] == 3) || (day[day.length - 2] == 1 && day[day.length - 1] == 4)){
		document.write("Через " + day + " дней будет " + weekX + " " + dayX + "." + monthX + "." + yearX + " год");
	}


	else if (day[day.length - 1] == 2 || day[day.length - 1] == 3 || day[day.length - 1] == 4){
		document.write("Через " + day + " дня будет " + weekX + " " + dayX + "." + monthX + "." + yearX + " год");
	}


	else{
		document.write("Через " + day + " дней будет " + weekX + " " + dayX + "." + monthX + "." + yearX + " год");
	}
	}
	//Вызываем функцию с подстановкой дней, набранных пользователем
	myDate(day);
Ответить с цитированием