Оглавление

15.7. Класс Date. Получение и вывод даты и времени

Класс Date позволяет работать с датой и временем. Создаются экземпляры класса так:
  <Экземпляр класса> = new Date();
  <Экземпляр класса> = new Date(<Количество миллисекунд>);

  <Экземпляр класса> = new Date(<Год>, <Месяц>, <День>,

               <Чась:>, <Минуты>, <Секунды>, <Миллисекунды>);

 

Класс поддерживает следующие методы:
tostring () преобразует дату в строку и возвращает ее:

  var d = new Date();
  document.write(d.toString()); 
  //   В Opera: Fri, 30 Oct 2009 01:07:17 GMT+0300
  // В Firefox: Fri Oct 30 2009 01:07:17 GMT+0300
  //      В IE: Fri Oct 30 01:07:17 UTC+0300 2009

toLocaiestring() преобразует дату в строку, используя интернациональные установки системы, и возвращает ее:

  var d = new Date();
  document.write(d.toLocaleString());
  // В Opera: 30.10.2009 1:11:27
  // В Firefox: 30 Октябрь 2009 г. 1:11:27
  // В IE: 30 октября 2009 г. 1:11:27

vaiueof() позволяет определить количество миллисекунд, прошедших с 01.01.1970 00:00:00:

  var d = new Date();
  document.write(d.valueOf());
  // 1256854444062

getDate() возвращает день месяца (от 1 до 31):

  var d = new Date();
  document.write(d.getDate());
  // 30

getDay() дает возможность узнать день недели (от 0 для воскресенья до 6 — для субботы):

  var Mass = [ "воскресенье", "понедельник", "вторник", 
               "среда", "четверг", "пятница", "суббота" ];
  var d = new Date();
  document.write(Mass[d.getDay()]);
  // пятница

getMonth() возвращает месяц (от 0 для января до 11 — для декабря):

  var Mass = [ "январь", "февраль", "март", "апрель", "май", 
               "июнь", "июль", "август", "сентябрь", "октябрь",
               "ноябрь", "декабрь" ];
  var d = new Date();
  document.write(Mass[d.getMonth()]); // октябрь

Для получения номера текущего месяца к возвращаемому значению необходимо прибавить единицу:

  var d = new Date();
  var Month = d.getMonth() + 1;
  document.write(Month); // 10

getFullYear() позволяет определить год:

  var d = new Date();
  document.write(d.getFullYear());
  // 2009

getHours() возвращает час (от 0 до 23):

  var d = new Date();
  document.write(d.getHours());
  // 1

□ getMinutes() позволяет получить минуты (от 0 до 59):

  var d = new Date();
  document.write(d.getMinutes());
  // 23

□ getseconds() возвращает секунды (от 0 до 59):

  var d = new Date();
  document.write(d.getSeconds());
  // 20

getMiiiiseconds () возвращает миллисекунды (от 0 до 999):

  var d = new Date();
  document.write(d.getMilliseconds());
  // 156

getTime () позволяет определить количество миллисекунд, прошедших с 01.01.1970 00:00:00:

  var d = new Date();
  document.write(d.getTime());
  // 1256855182843

Рассмотрим на примере работу с датой и временем (листинг 27).

 

Листинг 27. Текущая дата и время


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <title>Текущая дата и время</title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script type="text/javascript">
<!--
function f_Date(Str) {
   Str += ""; // Преобразуем число в строку
   if (Str.length==1) return ("0" + Str);
   else return Str;
}

function f_Year(Year) {
   Year += ""; // Преобразуем число в строку
   return Year.substr(2);
}
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
var d = new Date();
var msg;
var Day = [ "воскресенье", "понедельник", "вторник", "среда", 
            "четверг", "пятница", "суббота" ];
var Month = [ "января", "февраля", "марта", "апреля", "мая", 
              "июня", "июля", "августа", "сентября", "октября",
              "ноября", "декабря" ];
msg = "Сегодня <br>" + Day[d.getDay()] + " ";
msg += d.getDate() + " ";
msg += Month[d.getMonth()] + " ";
msg += d.getFullYear() + " ";
msg += f_Date(d.getHours()) + ":";
msg += f_Date(d.getMinutes()) + ":";
msg += f_Date(d.getSeconds()) + "<br>";
msg += f_Date(d.getDate()) + ".";
msg += f_Date(d.getMonth() + 1) + ".";
msg += f_Year(d.getFullYear());
document.write(msg);
//-->
</script>
</body>
</html>

 

В окне Web-браузера отобразится надпись

Сегодня
воскресенье 30 октября 2011 20:05:09
30.10.11

 

Посмотреть пример...

 

В примере мы использовали две созданные нами функции:
f_Date(Str) — если параметр состоит из одной цифры, то функция добавляет перед ним 0 и возвращает строку. Если не применить функцию, то дата 05.04.2008 будет выглядеть 5.4.2008, так как методы класса Date возвращают число;
f_Year(Year) — функция возвращает последние две цифры года.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити