JavaScript

JavaScript как правильно присвоить дату в переменную?

Как правильнее
function getDateAgo(date, days) {
var day = new Date(date);
day.setDate(date.getDate() - days);
return day;
}
или
function getDateAgo(date, days) {
var day = date;
day.setDate(day.getDate() - days);
return day;
}
В чем разница? Они работают по разному. Почему?
Abu Izanov
Abu Izanov
650
пример с секундами - также и с днями d.getDate() + день

var d = new Date();
d.setSeconds(d.getSeconds() + 70);
alert( d ); // выведет корректную дату

есть примеры
learn.javascript.ru/datetime

информация к размышлению полное описание Date
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date
ВШ
Владимир Шукуров
16 208
Лучший ответ
1 вариант
Денис Мицкус
Денис Мицкус
6 141
При работе с javascript часто возникает потребность вывести на экран текущею дату и время. В основном это используют для справки для клиента или же для записи в какую-нибудь переменную
Для вывода полной информации о дате и времени используем функцию date().

Data = new Date();
document.write(Data);
И мы увидим:

Tue Mar 24 2015 10:18:19 GMT+0300 (RTZ 2 (зима))
Мы получили всю информацию, но в таком формате её выводить не стоит, для функции data есть методы, которые позволят вытащить нужные нам значения.
getFullYear - получение года
getMonth - получение месяца (1 - 12)
getDate - получение числа месяца (1 - 31).
getHours - получение часа (0 - 23).
getMinutes - получение минуты (0 - 59)
getSeconds - получение секунд (0 - 59)
Рассмотрим на примере.

Data = new Date();
Year = Data.getFullYear();
Month = Data.getMonth();
Day = Data.getDate();
Hour = Data.getHours();
Minutes = Data.getMinutes();
Seconds = Data.getSeconds();
// Вывод
document.write(Year);
document.write(Month);
document.write(Day);
document.write(Hour);
document.write(Minutes);
document.write(Seconds);
Получение текущей даты с числом, названием месяца и года

Data = new Date();
Year = Data.getFullYear();
Month = Data.getMonth();
Day = Data.getDate();
 
// Преобразуем месяца
switch (Month)
{
  case 0: fMonth="января"; break;
  case 1: fMonth="февраля"; break;
  case 2: fMonth="марта"; break;
  case 3: fMonth="апреля"; break;
  case 4: fMonth="мае"; break;
  case 5: fMonth="июня"; break;
  case 6: fMonth="июля"; break;
  case 7: fMonth="августа"; break;
  case 8: fMonth="сентября"; break;
  case 9: fMonth="октября"; break;
  case 10: fMonth="ноября"; break;
  case 11: fMonth="декабря"; break;
}
 
// Вывод
document.write("Сегодня "+Day+" "+fMonth+" "+Year+" года");
И увидим результат:

Сегодня 24 марта 2015
Получение текущего времени

Data = new Date();
Hour = Data.getHours();
Minutes = Data.getMinutes();
Seconds = Data.getSeconds();
 
// Вывод
document.write("Текущее время: "+Hour+":"+Minutes+":"+Seconds);
Получим время:

Текущее время: 10:49:36
Abu Izanov Это я знаю. Помогите с примером который на вопросе