Время по юникс, это начало летоисчисления компьютерной эпохи. Это время всех операционных систем. Дата начала 1 января 1970 года (четверг). Вызывая объект Date мы видим количество секунд прошедших с этой даты. Так же рекомендую почитать про «проблему 2038 года»
А в этом примере мы посмотрим как выводит дату которая наступит через n-ое число дней от сегодняшнего.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<script> var now = new Date; document.write(now.getTime()); //И мы узнаем сколько милисекунд прошло с января 1970 года. Она была взята программистами юникс поэтому так и пошло. document.write("<br /><hr />"); var secondfrom1970 = now.getTime() / 1000; //В одной секунде 1000 мили-секунд var minutefrom1970 = (now.getTime() / (1000 * 60)); //В одной минуте 60 секунд var hourfrom1970 = (now.getTime() / (1000 * 60 * 60)); //В одном часе 60 минут умножаем ещё на 60)) var daysfrom1970 = (now.getTime() / (1000 * 60 * 60 * 24)); //В одном дне 24 часа, умножаем на 24 document.write(Math.round(secondfrom1970) + " Количество секунд с 1970 года <br />"); document.write(Math.round(minutefrom1970) + " Количество минут с 1970 года <br />"); document.write(Math.round(hourfrom1970) + " Количество часов с 1970 года <br />"); document.write(Math.round(daysfrom1970) + " Количество часов с 1970 года <br />"); document.write("<br /><hr />"); var ny = new Date(2016,0,1,0,0,0); //Объект для первого января 2016 года var daysBegin2016 = (ny.getTime() / (1000 * 60 * 60 * 24)); document.write(Math.round(daysBegin2016) - Math.round(daysfrom1970) + " дней осталось до 2016-го года <br />"); var myDays = ["Вскр","Пн","Вт","Ср","Чт","Пт","Сб"]; document.write(myDays[ny.getDay()] + " День недели в который будет 2016 год"); document.write("<br /><hr />"); var test = new Date(1000*60*60*24); //Количество мили секунд в сутках document.write(test); document.write("<br /><hr />"); /******************************************************************************************************************************/ //На закуску скрипт который выводит дату которая наступит через n-ое число дней function viewDate(argument){ var myNow = new Date(); var nowMiliSecond = myNow.getTime(); var nowPlus90 = new Date(1000*60*60*24*argument); //Прибавляем к текущему моменту 90 дней var milli90 = nowPlus90.getTime(); //Количество секунд которые пройдёт за эти 90 дней var summaMilli = nowMiliSecond + milli90; var itogMoment = new Date(summaMilli); //Теперь тут объект который соответствует времени ЧЕРЕЗ 90 дней после текущего var myMonts = ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"]; document.write("Через "+ argument +" дней будет: <br />"); document.write("День недели: " + myDays[itogMoment.getDay()] + "<br />"); document.write("Число: " + itogMoment.getDate() + "<br />"); document.write("Месяц: " + myMonts[itogMoment.getMonth()] + "<br />"); document.write("Год: " + itogMoment.getFullYear() + "<br />"); document.write("<br /><hr />"); } var userDays = prompt("Введите число дней от одного до 10-ти тысяч"); if(userDays > 10000 || userDays < 1 || isNaN(userDays)){ document.write("Вы ввели некорректное значение"); }else{ var itog = Math.round(userDays); viewDate(itog); } </script> |
| Категория: JavaScript
| Тэги: Date / JavaScript