Класс Date. Получение текущей даты и времени.
Вывод даты и времени в окне Web-браузера
Класс Date позволяет работать с датой и временем. Создаются экземпляры класса так:
<Экземпляр класса> = new Date();
<Экземпляр класса> = new Date(<Количество миллисекунд>);
<Экземпляр класса> = new Date(<Год>, <Месяц>, <День>, <Часы>, <Минуты>,
<Секунды>, <Миллисекунды>);
Класс поддерживает следующие методы:
? toString() преобразует дату в строку и возвращает ее:
var d = new Date();
document.write(d.toString());
// В Opera: Fri, 30 Oct 2024 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
? toLocaleString() преобразует дату в строку, используя интернациональ-
ные установки системы, и возвращает ее:
var d = new Date();
document.write(d.toLocaleString());
// В Opera: 30.10.2024 1:11:27
// В Firefox: 30 Октябрь 2009 г. 1:11:27
// В IE: 30 октября 2009 г. 1:11:27
? valueOf() позволяет определить количество миллисекунд, прошедших с
01.01.2024 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
? getMilliseconds() возвращает миллисекунды (от 0 до 999): var d = new Date(); document.write(d.getMilliseconds());
// 156
? getTime() позволяет определить количество миллисекунд, прошедших с
01.01.2024 00:00:00: var d = new Date(); document.write(d.getTime());
// 1256855182843
Рассмотрим на примере работу с датой и временем (листинг 3.27).
Листинг 3.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 октября 2009 01:36:29
30.10.09
В другое время надпись будет иной, так как мы работаем с текущим време-
нем.
В примере мы использовали две созданные нами функции:
? f_Date(Str) — если параметр состоит из одной цифры, то функция до- бавляет перед ним 0 и возвращает строку. Если не применить функцию, то дата 05.04.2024 будет выглядеть 5.4.2008, так как методы класса Date возвращают число;
? f_Year(Year) — функция возвращает последние две цифры года.
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)