Javascript время в миллисекундах. JavaScript Получить текущее время и дату. Преобразование текущего времени и даты в удобочитаемую строку
На этом уроке мы познакомимся с объектом Date языка JavaScript и научимся его использовать на практике.
Объект DateОбъект Date представляет собой точку на оси времени и предназначен для хранения даты и времени с точностью до миллисекунды.
Объект Date можно создавать различными способами:
- Без параметров (хранит дату и время, которая была в момент создания объекта на локальном компьютере); var newDate = new Date(); alert(newDate);
- С одним числовым параметром, в этом случае дата и время задаётся как количество миллисекунд, прошедших с 1 января 1970 00:00:00 UTC; // 1 год ≈ 365*24*60*60*1000 ≈ 31536000000 мс var date1 = new Date(31536000000); alert(date1);
- С одним строковым параметром, в этом случае JavaScript пытается разобрать строку с помощью метода Date.parse , т.е. преобразовать в дату. // YYYY-MM-DDThh:mm:ss.sss //Для разделения даты и времени используется символ T var str = "2015-02-24T21:23"; var date2 = new Date(str); alert(date2); //Также можно указать часовой пояс +hh:mm или -hh:mm var str1 = "2015-02-24T22:02+03:00"; var date2 = new Date(str1); alert(date2);
- Используя множество параметров перечисленных через запятую: год (4 цифры), месяц (отсчёт ведётся с 0), день (1..31), часы (0..23), минуты (0..59), секунды (0..59), миллисекунды (0..999). Причём обязательными являются только первых 2 параметра. //1 пример: только обязательные параметры //неуказанные параметры равны: число - 01, часы - 00, минуты - 00, секунды - 00, миллисекунды - 000. var date3 = new Date(2015,01); alert(date3); //2 пример //неуказанные параметры равны: секунды - 00, миллисекунды - 000. var date4 = new Date(2015,01,24,21,23); alert(date4);
- для получения отдельных компонентов даты и времени (начинаются методы с глагола get);
- для установления даты и времени (начинаются методы с глагола set);
- для преобразования даты в строку (начинаются методы с to);
- для преобразования строки в дату: метод Date.parse .
- Методы объекта Date для получения отдельных компонентов даты и времени в местном часовом поясе:
- getFullYear() - метод, который возвращает год, состоящий из 4 чисел;
- getMonth() - метод, который возвращает месяц в числовом формате: 0..11 (0 - январь, 1-февраль, 2 март, ...,11 - декабрь).
- getDate() - метод, который возвращает число месяца: 1..31;
- getHours() - метод, который возвращает количество часов: 0..23;
- getMinutes() - метод, который возвращает количество минут: 0..59;
- getSeconds() - метод, который возвращает количество секунд: 0..59;
- getMilliseconds() - метод, который возвращает количество миллисекунд: 0..999;
"); document.write("Год: " + newDate.getFullYear() + "
"); document.write("Месяц: " + newDate.getMonth() + "
"); document.write("Число: " + newDate.getDate() + "
"); document.write("---Время---" + "
"); document.write("Часы: " + newDate.getHours() + "
"); document.write("Минуты: " + newDate.getMinutes() + "
"); document.write("Секунды: " + newDate.getSeconds() + "
"); document.write("Миллисекунды: " + newDate.getMilliseconds() + "
"); - Методы объекта Date для получения отдельных компонентов даты и времени в UTC: getUTCFullYear() , getUTCMonth() , getUTCDate() , getUTCHours() , getUTCMinutes() , getUTCSeconds() , getMilliseconds() . Данные методы аналогичны предыдущим методам, за исключением того что они возвращают дату и время в UTC.
- Метод getTime() . Он предназначен для возвращения количества миллисекунд, прошедших с 01.01.1970 00:00:00 UTC.
- Метод getTimezoneOffset() . Он предназначен для возвращения разницы в минутах между часовым поясом локального компьютера и UTC.
- Методы объекта Date для установления отдельных компонентов даты и времени в местном часовом поясе:
- setFullYear() - метод, который устанавливает год. Кроме этого, данный метод имеет ещё 2 необязательных параметра, с помощью которых Вы можете дополнительно установить месяц и число. var newDate = new Date(); //установить для newDate с помощью метода setFullYear: год - 2014. newDate.setFullYear(2014); //установить для newDate с помощью метода setFullYear: год - 2014, месяц - 08 (сентябрь, т.к. отсчёт ведётся с 0). newDate.setFullYear(2014,08); //установить для newDate с помощью метода setFullYear: год - 2014, месяц - 08 (сентябрь), число - 20. newDate.setFullYear(2014,08,20);
- setMonth() - метод, который устанавливает месяц в числовом формате: 0..11 (0 - январь, 1-февраль, 2 март, ...,11 - декабрь). Кроме этого, данный метод имеет ещё 1 необязательный параметр, с помощью которого Вы можете дополнительно установить число. var newDate = new Date(); //установить для newDate с помощью метода setMonth: месяц - 05 (июнь). newDate.setMonth(05); //установить для newDate с помощью метода setMonth: месяц - 05 (июнь), число - 15. newDate.setMonth(05,15);
- setDate() - метод, который устанавливает число. var newDate = new Date(); //установить для newDate с помощью метода setDate: число - 28. newDate.setDate(28);
- setHours() - метод, который устанавливает количество часов: 0..23. Кроме этого, данный метод имеет ещё 3 необязательных параметра, с помощью которых Вы можете дополнительно установить минуты, секунды и миллисекунды. var newDate = new Date(); //установить для newDate с помощью метода setHours: часы - 13. newDate.setHours(13); //установить для newDate с помощью метода setHours: часы - 13, минуты - 20. newDate.setHours(13,20); //установить для newDate с помощью метода setHours: часы - 13, минуты - 20, секунды - 37. newDate.setHours(13,20,37); //установить для newDate с помощью метода setHours: часы - 13, минуты - 20, секунды - 37, миллисекунды - 230. newDate.setHours(13,20,37,230);
- setMinutes() - метод, который устанавливает количество минут: 0..59. Кроме этого, данный метод имеет ещё 2 необязательных параметра, с помощью которых Вы можете дополнительно установить секунды и миллисекунды. var newDate = new Date(); //установить для newDate с помощью метода setMinutes: минуты - 37. newDate.setMinutes(37); //установить для newDate с помощью метода setMinutes: минуты - 37, секунды - 12. newDate.setMinutes(37,12); //установить для newDate с помощью метода setMinutes: минуты - 37, секунды - 12, миллисекунды - 710. newDate.setMinutes(37,12,710);
- setSeconds() - метод, который возвращает количество секунд: 0..59. Кроме этого, данный метод имеет один необязательный параметр, с помощью которого Вы можете дополнительно установить миллисекунды. var newDate = new Date(); //установить для newDate с помощью метода setSeconds: секунды - 40. newDate.setSeconds(40); //установить для newDate с помощью метода setSeconds: секунды - 40, миллисекунды - 105. newDate.setSeconds(40,105);
- setMilliseconds() - метод, который устанавливает количество миллисекунд: 0..999. var newDate = new Date(); //установить для newDate с помощью метода setMilliseconds: миллисекунды - 318. newDate.setSeconds(318);
- Методы объекта Date для установления отдельных компонентов даты и времени в UTC: setUTCFullYear() , setUTCMonth() , setUTCDate() , setUTCHours() , setUTCMinutes() , setUTCSecondes() , setUTCMilliseconds() . Данные методы аналогичны предыдущим методам, за исключением того что они устанавливают дату и время в UTC.
- Метод setTime() . Он предназначен для установления даты и времени посредством сложения или вычитания количества миллисекунд от даты 01.01.1970 00:00:00 UTC.
Примечание: Если Вам необходимо установить дату и время в UTC, то можете воспользоваться методом Date.UTC:
//1 пример var date1 = Date.UTC(2015,1,1); var date2 = new Date(date1); alert(date2.toUTCString()); //2 пример var newDate = new Date(Date.UTC(2015,1,1)); alert(newDate.toUTCString());
Методы объекта DateМетоды объекта Date можно разделить на следующие категории:
Примечание: В JavaScript некорректно установленная дата приводит не к ошибкам, а лишь к тому, что она автоматически распределяется по остальным компонентам объекта Date.
Например, при установлении даты newDate.setFullYear = new Date(2015,01,40) (т.е. 40.01.2015) ошибки не произойдёт. Число 40 распределится следующим образом: 9 февраля 2015 года (т.к. в январе 31 день, то число будет равно 9 (40-31), а месяц +1).
//Пример 1: прибавим к дате 7 дней var date1 = new Date(2015,02,26,22,03); date1.setDate(date1.getDate()+7); //Пример 2: отнимем от даты 120 секунд var date2 = new Date(2015,02,26,22,03); date2.setSeconds(date1.getSeconds()-120); //Пример 3: последнее число предыдущего месяца var date3 = new Date(2015,02,26,22,03); date3.setDate(0);
Преобразования даты в строкуВ JavaScript существует огромное количество методов, предназначенных для перевода даты в строку.
Первую группу составляют методы, результат которых зависит от используемого браузера. Т.е. формат возвращаемой строки зависит от производителя браузера.
- Методы, которые преобразуют дату в строку с учётом часового пояса и языка локального компьютера.
- toLocaleString() - возвращает строку, содержащую дату и время;
- toLocaleDateString() - возвращает строку, содержащую дату;
- toLocaleTimeString() - возвращает строку, содержащую время.
- toUTCString() - метод, который возвращает строку, содержащую дату и время в UTC.
- toISOString() - метод, который возвращает строку, содержащую дату и время в формате ISO (YYYY-MM-DDTHH:mm:ss.sssZ).
"); document.write("toDateString() - " + date5.toDateString() + "
"); document.write("toTimeString() - " + date5.toTimeString() + "
"); document.write("toLocaleString() - " + date5.toLocaleString() + "
"); document.write("toLocaleDateString() - " + date5.toLocaleDateString() + "
"); document.write("toLocaleTimeString() - " + date5.toLocaleTimeString() + "
"); document.write("toUTCString() - " + date5.toUTCString() + "
"); document.write("toISOString() - " + date5.toISOString() + "
"); Метод для преобразования строки в дату
JavaScript для преобразования строки в дату использует метод Date.parse() . Этот метод может преобразовать строку, если она выполнена в соответствии со стандартом RFC2822 или ISO 8601.
В этом уроке рассмотрим стандарт ISO 8601, в котором строка должна иметь следующий формат: YYYY-MM-DDThh:mm:ss.sssZ .
- YYYY – год, состоящий из 4 цифр;
- MM – месяц, состоящий из 2 цифр (01 = Январь, 02 = Февраль, и т.д.);
- DD – день месяца, состоящий из 2 цифр (01..31);
- T – символ для разделения даты и времени;
- hh – количество часов (00..23);
- mm - количество минут (00..59);
- ss - количество секунд (00..59);
- sss - количество миллисекунд (0..999);
- Z - символ, который означает, что время задаётся в формате UTC. Если Вам необходимо вместо UTC установить часовой пояс, то букву " Z " следует заменить значением +hh:mm или -hh.mm .
Если строка, содержащая дату и время, задана не в формате RFC2822 или ISO 8601, то метод JavaScript Date.parse() всё равно может выполнить её преобразование, но результат в этом случае могут оказаться непредсказуемым.
Доброго времени суток всем подписчикам и читателям блога сайт. В этой статье мы изучим встроенный объект языка программирования jscript – Date.
Объект JS Date предназначен для работы с датой и временем и для преобразования строк в формат даты. При создании класса Date, jscript использует ключевое слово new и один из трёх видов конструкторов, давайте посмотрим на их общий синтаксис:
Класс JS DATE – дата и времяDate () – в данном случае будет произведен вывод текущей даты и времени js в формате: , время задается по Гринвичу, т. е. с использованием UTC (UCT - Universal Coordinated Time).
Date (nMilliseconds) – Как видим, тут мы передаем один параметр nMilliseconds, который задает дату1 в миллисекундах, считая от 1 января 1970 года
Date (year, month, date [, hours [, min [, sec [, ms]]]]) – Тут мы видим, что конструктору передаются несколько параметров, что позволяет задать вручную все значения даты и времени js:
- year - Год в четырехзначном формате, например 1998 (но не 98).
- month - Номер месяца от 0 (январь) до 11 (декабрь).
- date - Календарная дата1 в диапазоне от 1 до 31.
- hours - Час дня в диапазоне от 0 до 23.
- min - Минуты в диапазоне от 0 до 59.
- sec – Количество секунд в диапазоне от 0 до 59.
- ms – Число миллисекунд в диапазоне от 0 до 999.
Хорошо, давайте посмотрим на следующий пример использования класса JS DATE в сценарии на языке программирования , который работает под управлением сервера :
// Объект JS Date // 1_date.js //********************************** var a, b, c //Текущая дата1 и время1 a = new Date () ; //js //Период через 1000 мс после 1 января 1970 года b = new Date (1000 ) ; //Собственная временная дата2 c = new Date (2000 , 5 , 20 , 12 , 20 , 55 , 97 ) ; WScript.Echo (a + "\n " + b + "\n " + c) ; |
Хорошо, теперь давайте рассмотри основные методы класса Date JS языка.
getFullYear () – Номер текущего года в четырехзначном формате.
getDate () – Вернёт номер текущей даты (от 1 до 31).
getMonth () – Номер текущего месяца (от 1 до 12).
getDay () - Номер дня недели (0 для воскресения, 1- для понедельника. и т. д.).
getHours () – Количество часов (отсчет начинается с полуночи).
getMinutes () - Вернёт количество минут (отсчет начинается с начала часа).
getSeconds () - Число секунд (отсчет идет с начала минуты).
getMilliseconds () - Число миллисекунд.
Давайте рассмотрим следующий пример сценария, который демонстрирует работу с вышеописанными методами класса Date:
//********************************** // Объект JS Date // 2_date.js //********************************** var js_new_date = new Date ; //js var gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds, MyArr, index, list= "" ; gFullYear = "Год\t \t " + js_new_date.getFullYear () ; gDate = "Дата\t \t " + js_new_date.getDate () ; gMonth = "Месяц\t \t " + js_new_date.getMonth () ; gDay = "День недели\t \t " + js_new_date.getDay () ; gHours = "Часы\t \t " + js_new_date.getHours () ; gMinutes = "Минуты\t \t " + js_new_date.getMinutes () ; gSeconds = "Секунды\t \t " + js_new_date.getSeconds () ; gMilliseconds = "Миллисекунды\t \t " + js_new_date.getMilliseconds () ; //Сохраняем всё в массиве MyArr = [ gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds] for (var index in my_arr) { list+= MyArr[ index] + "\n " |
Видим, что тут мы объявили ряд переменных jscript, которые хранят значения, возвращаемые функциями класса Date() JS языка, далее, все переменные мы прописали в массив MyArr (детальное описание массивов есть в статье " "), доступ к нему осуществляется через цикл for in (данный цикл я описал в статье " "). В самом конце мы выводим список значений для всех переменных.
getTime () – Количество миллисекунд, которые прошли с 1 января 1970 года. Он идеально подходит для вычисления времени работы блока кода.