Как получить текущее время
Перейти к содержимому

Как получить текущее время

  • автор:

Дата и Время

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

Более новая информация по этой теме находится на странице https://learn.javascript.ru/date.

Для работы с датой и временем в JavaScript используются объекты Date.

Создание

Для создания нового объекта типа Date используется один из синтаксисов:

Создаёт объект Date с текущей датой и временем:

var now = new Date(); alert( now );

new Date(milliseconds)

Создаёт объект Date , значение которого равно количеству миллисекунд (1/1000 секунды), прошедших с 1 января 1970 года GMT+0.

// 24 часа после 01.01.1970 GMT+0 var Jan02_1970 = new Date(3600 * 24 * 1000); alert( Jan02_1970 );

new Date(datestring)

Если единственный аргумент – строка, используется вызов Date.parse (см. далее) для чтения даты из неё.

new Date(year, month, date, hours, minutes, seconds, ms)

Дату можно создать, используя компоненты в местной временной зоне. Для этого формата обязательны только первые два аргумента. Отсутствующие параметры, начиная с hours считаются равными нулю, а date – единице.

  • Год year должен быть из 4 цифр.
  • Отсчёт месяцев month начинается с нуля 0. Например:

new Date(2011, 0, 1, 0, 0, 0, 0); // // 1 января 2011, 00:00:00 new Date(2011, 0, 1); // то же самое, часы/секунды по умолчанию равны 0

Дата задана с точностью до миллисекунд:

var date = new Date(2011, 0, 1, 2, 3, 4, 567); alert( date ); // 1.01.2011, 02:03:04.567

Получение компонентов даты

Для доступа к компонентам даты-времени объекта Date используются следующие методы:

getFullYear() Получить год (из 4 цифр) getMonth() Получить месяц, от 0 до 11. getDate() Получить число месяца, от 1 до 31. getHours(), getMinutes(), getSeconds(), getMilliseconds() Получить соответствующие компоненты.

Не getYear() , а getFullYear()

Некоторые браузеры реализуют нестандартный метод getYear() . Где-то он возвращает только две цифры из года, где-то четыре. Так или иначе, этот метод отсутствует в стандарте JavaScript. Не используйте его. Для получения года есть getFullYear() .

Дополнительно можно получить день недели:

getDay() Получить номер дня в неделе. Неделя в JavaScript начинается с воскресенья, так что результат будет числом от 0(воскресенье) до 6(суббота).

Все методы, указанные выше, возвращают результат для местной временной зоны.

Существуют также UTC-варианты этих методов, возвращающие день, месяц, год и т.п. для зоны GMT+0 (UTC): getUTCFullYear() , getUTCMonth() , getUTCDay() . То есть, сразу после «get» вставляется «UTC» .

Если ваше локальное время сдвинуто относительно UTC, то следующий код покажет разные часы:

// текущая дата var date = new Date(); // час в текущей временной зоне alert( date.getHours() ); // сколько сейчас времени в Лондоне? // час в зоне GMT+0 alert( date.getUTCHours() );

Кроме описанных выше, существуют два специальных метода без UTC-варианта:

Возвращает число миллисекунд, прошедших с 1 января 1970 года GMT+0, то есть того же вида, который используется в конструкторе new Date(milliseconds) .

Возвращает разницу между местным и UTC-временем, в минутах.

alert( new Date().getTimezoneOffset() ); // Для GMT-1 выведет 60

Установка компонентов даты

Следующие методы позволяют устанавливать компоненты даты и времени:

  • setFullYear(year [, month, date])
  • setMonth(month [, date])
  • setDate(date)
  • setHours(hour [, min, sec, ms])
  • setMinutes(min [, sec, ms])
  • setSeconds(sec [, ms])
  • setMilliseconds(ms)
  • setTime(milliseconds) (устанавливает всю дату по миллисекундам с 01.01.1970 UTC)

Все они, кроме setTime() , обладают также UTC-вариантом, например: setUTCHours() .

Как видно, некоторые методы могут устанавливать несколько компонентов даты одновременно, в частности, setHours . При этом если какая-то компонента не указана, она не меняется. Например:

var today = new Date; today.setHours(0); alert( today ); // сегодня, но час изменён на 0 today.setHours(0, 0, 0, 0); alert( today ); // сегодня, ровно 00:00:00.

Автоисправление даты

Автоисправление – очень удобное свойство объектов Date . Оно заключается в том, что можно устанавливать заведомо некорректные компоненты (например 32 января), а объект сам себя поправит.

var d = new Date(2013, 0, 32); // 32 января 2013 . alert(d); // . это 1 февраля 2013!

Неправильные компоненты даты автоматически распределяются по остальным.

Например, нужно увеличить на 2 дня дату «28 февраля 2011». Может быть так, что это будет 2 марта, а может быть и 1 марта, если год високосный. Но нам обо всем этом думать не нужно. Просто прибавляем два дня. Остальное сделает Date :

var d = new Date(2011, 1, 28); d.setDate(d.getDate() + 2); alert( d ); // 2 марта, 2011

Также это используют для получения даты, отдалённой от имеющейся на нужный промежуток времени. Например, получим дату на 70 секунд большую текущей:

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

Можно установить и нулевые, и даже отрицательные компоненты. Например:

var d = new Date; d.setDate(1); // поставить первое число месяца alert( d ); d.setDate(0); // нулевого числа нет, будет последнее число предыдущего месяца alert( d );
var d = new Date; d.setDate(-1); // предпоследнее число предыдущего месяца alert( d );

Преобразование к числу, разность дат

Когда объект Date используется в числовом контексте, он преобразуется в количество миллисекунд:

alert(+new Date) // +date то же самое, что: +date.valueOf()

Важный побочный эффект: даты можно вычитать, результат вычитания объектов Date – их временная разница, в миллисекундах.

Это используют для измерения времени:

var start = new Date; // засекли время // что-то сделать for (var i = 0; i < 100000; i++) < var doSomething = i * i * i; >var end = new Date; // конец измерения alert( "Цикл занял " + (end - start) + " ms" );

Бенчмаркинг

Допустим, у нас есть несколько вариантов решения задачи, каждый описан функцией.

Как узнать, какой быстрее?

Для примера возьмём две функции, которые бегают по массиву:

function walkIn(arr) < for (var key in arr) arr[key]++ >function walkLength(arr)

Чтобы померить, какая из них быстрее, нельзя запустить один раз walkIn , один раз walkLength и замерить разницу. Одноразовый запуск ненадёжен, любая мини-помеха исказит результат.

Для правильного бенчмаркинга функция запускается много раз, чтобы сам тест занял существенное время. Это сведёт влияние помех к минимуму. Сложную функцию можно запускать 100 раз, простую – 1000 раз…

Померяем, какая из функций быстрее:

var arr = []; for (var i = 0; i < 1000; i++) arr[i] = 0; function walkIn(arr) < for (var key in arr) arr[key]++; >function walkLength(arr) < for (var i = 0; i < arr.length; i++) arr[i]++; >function bench(f) < var date = new Date(); for (var i = 0; i < 10000; i++) f(arr); return new Date() - date; >alert( 'Время walkIn: ' + bench(walkIn) + 'мс' ); alert( 'Время walkLength: ' + bench(walkLength) + 'мс' );

Теперь представим себе, что во время первого бенчмаркинга bench(walkIn) компьютер что-то делал параллельно важное (вдруг) и это занимало ресурсы, а во время второго – перестал. Реальная ситуация? Конечно реальна, особенно на современных ОС, где много процессов одновременно.

Гораздо более надёжные результаты можно получить, если весь пакет тестов прогнать много раз.

var arr = []; for (var i = 0; i < 1000; i++) arr[i] = 0; function walkIn(arr) < for (var key in arr) arr[key]++; >function walkLength(arr) < for (var i = 0; i < arr.length; i++) arr[i]++; >function bench(f) < var date = new Date(); for (var i = 0; i < 1000; i++) f(arr); return new Date() - date; >// bench для каждого теста запустим много раз, чередуя var timeIn = 0, timeLength = 0; for (var i = 0; i < 100; i++) < timeIn += bench(walkIn); timeLength += bench(walkLength); >alert( 'Время walkIn: ' + timeIn + 'мс' ); alert( 'Время walkLength: ' + timeLength + 'мс' );

Более точное время с performance.now()

В современных браузерах (кроме IE9-) вызов performance.now() возвращает количество миллисекунд, прошедшее с начала загрузки страницы. Причём именно с самого начала, до того, как загрузился HTML-файл, если точнее – с момента выгрузки предыдущей страницы из памяти.

Так что это время включает в себя всё, включая начальное обращение к серверу.

Его можно посмотреть в любом месте страницы, даже в , чтобы узнать, сколько времени потребовалось браузеру, чтобы до него добраться, включая загрузку HTML.

Возвращаемое значение измеряется в миллисекундах, но дополнительно имеет точность 3 знака после запятой (до миллионных долей секунды!), поэтому можно использовать его и для более точного бенчмаркинга в том числе.

console.time(метка) и console.timeEnd(метка)

Для измерения с одновременным выводом результатов в консоли есть методы:

  • console.time(метка) – включить внутренний хронометр браузера с меткой.
  • console.timeEnd(метка) – выключить внутренний хронометр браузера с меткой и вывести результат.

Параметр «метка» используется для идентификации таймера, чтобы можно было делать много замеров одновременно и даже вкладывать измерения друг в друга.

В коде ниже таймеры walkIn , walkLength – конкретные тесты, а таймер «All Benchmarks» – время «на всё про всё»:

var arr = []; for (var i = 0; i < 1000; i++) arr[i] = 0; function walkIn(arr) < for (var key in arr) arr[key]++; >function walkLength(arr) < for (var i = 0; i < arr.length; i++) arr[i]++; >function bench(f) < for (var i = 0; i < 10000; i++) f(arr); >console.time("All Benchmarks"); console.time("walkIn"); bench(walkIn); console.timeEnd("walkIn"); console.time("walkLength"); bench(walkLength); console.timeEnd("walkLength"); console.timeEnd("All Benchmarks");

При запуске этого примера нужно открыть консоль, иначе вы ничего не увидите.

Внимание, оптимизатор!

Современные интерпретаторы JavaScript делают массу оптимизаций, например:

  1. Автоматически выносят инвариант, то есть постоянное в цикле значение типа arr.length , за пределы цикла.
  2. Стараются понять, значения какого типа хранит данная переменная или массив, какую структуру имеет объект и, исходя из этого, оптимизировать внутренние алгоритмы.
  3. Выполняют простейшие операции, например сложение явно заданных чисел и строк, на этапе компиляции.
  4. Могут обнаружить, что некий код, например присваивание к неиспользуемой локальной переменной, ни на что не влияет и вообще исключить его из выполнения, хотя делают это редко.

Эти оптимизации могут влиять на результаты тестов, поэтому измерять скорость базовых операций JavaScript («проводить микробенчмаркинг») до того, как вы изучите внутренности JavaScript-интерпретаторов и поймёте, что они реально делают на таком коде, не рекомендуется.

Форматирование и вывод дат

Во всех браузерах, кроме IE10-, поддерживается новый стандарт Ecma 402, который добавляет специальные методы для форматирования дат.

Это делается вызовом date.toLocaleString(локаль, опции) , в котором можно задать много настроек. Он позволяет указать, какие параметры даты нужно вывести, и ряд настроек вывода, после чего интерпретатор сам сформирует строку.

Пример с почти всеми параметрами даты и русским, затем английским (США) форматированием:

var date = new Date(2014, 11, 31, 12, 30, 0); var options = < era: 'long', year: 'numeric', month: 'long', day: 'numeric', weekday: 'long', timezone: 'UTC', hour: 'numeric', minute: 'numeric', second: 'numeric' >; alert( date.toLocaleString("ru", options) ); // среда, 31 декабря 2014 г. н.э. 12:30:00 alert( date.toLocaleString("en-US", options) ); // Wednesday, December 31, 2014 Anno Domini 12:30:00 PM

Вы сможете подробно узнать о них в статье Intl: интернационализация в JavaScript, которая посвящена этому стандарту.

Методы вывода без локализации:

toString() , toDateString() , toTimeString() Возвращают стандартное строчное представление, не заданное жёстко в стандарте, а зависящее от браузера. Единственное требование к нему – читаемость человеком. Метод toString возвращает дату целиком, toDateString() и toTimeString() – только дату и время соответственно.

var d = new Date(); alert( d.toString() ); // вывод, похожий на 'Wed Jan 26 2011 16:40:50 GMT+0300'

toUTCString() То же самое, что toString() , но дата в зоне UTC.

toISOString() Возвращает дату в формате ISO Детали формата будут далее. Поддерживается современными браузерами, не поддерживается IE8-.

var d = new Date(); alert( d.toISOString() ); // вывод, похожий на '2011-01-26T13:51:50.417Z'

Если хочется иметь большую гибкость и кросс-браузерность, то также можно воспользоваться специальной библиотекой, например Moment.JS или написать свою функцию форматирования.

Разбор строки, Date.parse

Все современные браузеры, включая IE9+, понимают даты в упрощённом формате ISO 8601 Extended.

Этот формат выглядит так: YYYY-MM-DDTHH:mm:ss.sssZ , где:

  • YYYY-MM-DD – дата в формате год-месяц-день.
  • Обычный символ T используется как разделитель.
  • HH:mm:ss.sss – время: часы-минуты-секунды-миллисекунды.
  • Часть ‘Z’ обозначает временную зону – в формате +-hh:mm , либо символ Z , обозначающий UTC. По стандарту её можно не указывать, тогда UTC, но в Safari с этим ошибка, так что лучше указывать всегда.

Также возможны укороченные варианты, например YYYY-MM-DD или YYYY-MM или даже только YYYY .

Метод Date.parse(str) разбирает строку str в таком формате и возвращает соответствующее ей количество миллисекунд. Если это невозможно, Date.parse возвращает NaN .

var msUTC = Date.parse('2012-01-26T13:51:50.417Z'); // зона UTC alert( msUTC ); // 1327571510417 (число миллисекунд)

С таймзоной -07:00 GMT :

var ms = Date.parse('2012-01-26T13:51:50.417-07:00'); alert( ms ); // 1327611110417 (число миллисекунд)

Формат дат для IE8-

До появления спецификации ECMAScript 5 формат не был стандартизован, и браузеры, включая IE8-, имели свои собственные форматы дат. Частично, эти форматы пересекаются.

Например, код ниже работает везде, включая старые IE:

var ms = Date.parse("January 26, 2011 13:51:50"); alert( ms );

Вы также можете почитать о старых форматах IE в документации к методу MSDN Date.parse.

Конечно же, сейчас лучше использовать современный формат. Если же нужна поддержка IE8-, то метод Date.parse , как и ряд других современных методов, добавляется библиотекой es5-shim.

Метод Date.now()

Метод Date.now() возвращает дату сразу в виде миллисекунд.

Технически, он аналогичен вызову +new Date() , но в отличие от него не создаёт промежуточный объект даты, а поэтому – во много раз быстрее.

Его использование особенно рекомендуется там, где производительность при работе с датами критична. Обычно это не на веб-страницах, а, к примеру, в разработке игр на JavaScript.

Итого

  • Дата и время представлены в JavaScript одним объектом: Date. Создать «только время» при этом нельзя, оно должно быть с датой. Список методов Date вы можете найти в справочнике Date или выше.
  • Отсчёт месяцев начинается с нуля.
  • Отсчёт дней недели (для getDay() ) тоже начинается с нуля (и это воскресенье).
  • Объект Date удобен тем, что автокорректируется. Благодаря этому легко сдвигать даты.
  • При преобразовании к числу объект Date даёт количество миллисекунд, прошедших с 1 января 1970 UTC. Побочное следствие – даты можно вычитать, результатом будет разница в миллисекундах.
  • Для получения текущей даты в миллисекундах лучше использовать Date.now() , чтобы не создавать лишний объект Date (кроме IE8-)
  • Для бенчмаркинга лучше использовать performance.now() (кроме IE9-), он в 1000 раз точнее.

Задачи

Вывести дату в формате дд.мм.гг

важность: 3

Напишите функцию formatDate(date) , которая выводит дату date в формате дд.мм.гг :

var d = new Date(2014, 0, 30); // 30 января 2014 alert( formatDate(d) ); // '30.01.14'

P.S. Обратите внимание, ведущие нули должны присутствовать, то есть 1 января 2001 должно быть 01.01.01, а не 1.1.1.

Получим компоненты один за другим.

    День можно получить как date.getDate() . При необходимости добавим ведущий ноль:

var dd = date.getDate(); if (dd < 10) dd = '0' + dd;
var mm = date.getMonth() + 1; // месяц 1-12 if (mm < 10) mm = '0' + mm;
var yy = date.getFullYear() % 100; if (yy < 10) yy = '0' + yy;

Текущая дата и время в Python

Время и дата играют важнейшую роль при решении определенных задач в программировании. Разработчику на Python приходится нередко использовать точные значения текущей (current) даты, к примеру, при сохранении информации в базе данных, вычислениях, регистрации, обеспечении доступа и т. д. В этой статье пойдет разговор о том, как узнать текущие временные значения с помощью модуля datetime. Вдобавок к этому, читатель узнает о временных настройках для разных часовых поясов и преобразовании объектов datetime в метки времени Unix.

Получаем текущую дату и время

Datetime включает в себя разные классы, позволяющие получать нужные временные данные:

  1. datetime.date: день, месяц и год;
  2. datetime.time: время в часах, минутах, секундах, а также микросекундах. Тут дата значения не имеет;
  3. datetime.datetime: здесь хранятся атрибуты date и time.

Для примера можно вывести в терминал текущую (current) дату и время. Можно воспользоваться объектом datetime.datetime — из него довольно просто извлекаются объекты date и time. Сначала следует импортировать требуемый модуль:

from datetime import datetime

Да, это выглядит странновато, т. к. речь идет о получении класса datetime из модуля datetime, однако это 2 разные вещи. Далее следует воспользоваться функцией now() — она позволит получить объект с текущим временем и датой.

from datetime import datetime

Набрав код выше, вы увидите на экране следующее (в вашем случае вывод изменится, ведь минуты не стоят на месте):

Текущая дата и время в Python

Что произошло? Функция now() отобразила объект, причем с датой и временем создания этого самого объекта. В результате была выведена соответствующая строка. Однако никто не мешает получить временные атрибуты отдельно:

Текущая дата и время в Python

Таким образом, метод now() вполне годится для получения текущей даты и времени. Но что делать, если надо получить лишь дату?

Работа с датой current

Существуют 2 способа получения текущей даты. Первый выводит нужные данные из объекта datetime посредством метода date() :

Текущая дата и время в Python

Во втором применяется метод today() класса date:

Текущая дата и время в Python

Класс datetime.date позволяет получать календарную дату. Также следует добавить, что его атрибуты (year, month, day) бывают доступны и отдельно, как в примере с datetime.

Текущая дата и время в Python

Тут все понятно и просто. Но есть нюанс: если надо получить день недели, прописывают current_date.weekday()+1 . Дело в том, что нумерация дней недели начинается с нуля, то есть понедельник — это 0, вторник — 1, среда — 2 и так далее. Если такое положение вещей устраивает, +1 можно и не добавлять.

А как поступить, если надо отобразить текущее время отдельно от даты?

Работаем с текущим временем

Текущее время от объекта datetime получают посредством метода time() . Вот как это выглядит:

Текущая дата и время в Python

Здесь отдельно получить часы, минуты, секунды и микросекунды не представляется возможным, да в этом и нет необходимости, т. к. само понятие времени суток не предполагает другого отображения.

Важно отметить, что есть возможность получить временные данные и с учетом нужного часового пояса (timezone). Как и что используется, поговорим ниже.

Другой часовой пояс: временные зоны (timezones)

Метод now() принимает в Python временную зону в качестве аргумента, так что объект datetime генерируется соответствующим образом.

Для получения информации с учетом часового пояса необходимо задействовать библиотеку pytz (если ее нет, потребуется инсталляция, для чего подойдет команда pip3 install pytz ).

Так как я нахожусь в Минске, давайте получим текущие временные значения (times) именно для Минска:

Текущая дата и время в Python

Строка в коде minsk_current_datetime является объектом datetime, то есть все то же самое, что и ранее, но уже в полном соответствии с часовым поясом Республики Беларусь.

Когда надо узнать время в UTC, тоже пригодится модуль pytz:

Текущая дата и время в Python

Получить время UTC можно и без модуля pytz, т. к. datetime имеет полезное свойство timezone. Что же, давайте задействуем свойство timezone:

Текущая дата и время в Python

Таким образом, можно без проблем преобразовать текущие даты и значения времени в различные часовые пояса.

Преобразование временных меток

Также может быть очень полезным преобразовывать время в один из самых широко применяемых форматов в вычислениях. Речь идет о временных метках Unix.

Доподлинно известно, что компьютерные системы измеряют время не так, как люди. Здесь за основу берется число секунд, которые прошли с начала Unix-эпохи, то есть с 00:00:00 UTC 1.01.1979. Базы данных, протоколы и приложения обычно задействуют временную метку.

Для ее получения в «Питоне» пригодится модуль time, следовательно, первая строка будет import time :

Текущая дата и время в Python

Функция time.time() возвращает пользователю число с плавающей запятой и с временной меткой Unix.

На этом все. Очень надеемся, что вы получили некоторое представление об использовании встроенных Python-библиотек и модулей, необходимых для отображения временных значений.

Как получить текущую дату и время

Чтобы получить дату и время в момент общения с ботом в указанном часовом поясе, вы можете воспользоваться нашим сервисом Текущие дата и время.

Для использования сервиса добавьте в сценарий блок HTTP-запрос с методом GET и пропишите URL следующим образом:

Этот URL выдаст дату по Москве в формате dd/MM/yyyy . Вы также можете выводить дату и время согласно другим часовым поясам и форматам.

Чтобы использовать данные, полученные по запросу, добавьте переменную в блоке HTTP-запрос. Например, $time со значением $httpResponse :

Заполнение блока HTTP-запрос

Параметры для использования в URL​

В качестве параметров запроса можно указать:

  • tz — код часового пояса;
  • format — формат даты и времени.

Подробнее о списке кодов и формате часовых поясов

Оба параметра являются необязательными. Если вы их не укажете, сервис вернет текущие дату и время в часовом поясе UTC в формате dd.MM.yyyy HH:mm .

Чтобы проверить, правильно ли вы указали параметры в URL-адресе запроса, вы можете ввести URL в поисковую строку браузера.

Ответ сервиса​

Ответ на запрос с параметрами​

Например, так выглядит запрос даты и времени в Австралии, Сидней:

Текущая дата и время

При запросе с передачей параметров tz и format сервис возвращает JSON следующего вида:

  "timezone": "Australia/Sydney", "formatted": "21/05/2020", "timestamp": 1590063706359, "weekDay": 4, "day": 21, "month": 5, "year": 2020, "hour": 22, "minute": 21 > 

Ответ сервиса сохраняется в переменную из HTTP-запроса — в данном случае $time . Вы можете использовать ее дальше в сценарии.

Например, вы можете вывести данный ответ в блоке Текст, связав с ним вариант Завершен успешно из HTTP-запроса. Будет выведено содержимое переменной $time .

Ответ на запрос без параметров​

Запрос без параметров будет выглядеть следующим образом:

При запросе без передачи дополнительных параметров tz и format сервис возвращает JSON следующего вида:

  "timezone":"Etc/UTC", "formatted":"17.09.2021 13:18", "timestamp":1631884709357, "weekDay":5, "day":17, "month":9, "year":2021, "hour":13, "minute":18 > 

Вывод конкретного поля из ответа на запрос​

По умолчанию сервис Текущие дата и время выводит ответ на запрос в формате JSON. Однако для дальнейшего использования в сценарии вам может понадобиться не весь JSON, а отдельные его поля — например, месяц или число.

Чтобы использовать конкретное поле, в сценарии запишите переменную в формате .(поле) .

Например, если вы ранее сохранили ответ на запрос в переменной $time , для получения текущего числа в сценарии напишите $time.day .

Использование для вычислений​

Вы можете использовать полученную информацию о дате и времени для дальнейших вычислений с использованием блока Условия либо с помощью вебхуков.

Как узнать текущее время и дату?

Я хотел бы выяснить как узнать время дату год и т.д. с возможностью сохранения в переменные, редактирования и вывода из каждого по отдельности. Во всех найденых мною материалах они исправно выясняли данные но при этом убрать что то из вывода или добавить я не смог.

  • Вопрос задан более двух лет назад
  • 1498 просмотров

6 комментариев

Простой 6 комментариев

Евгений Шатунов @MarkusD Куратор тега C++
Jmih , а в чем конкретно у тебя проблема?

axifive

Распишите что именно не получилось, приведите код. Пока создаётся впечатление, что вы и не пытались сами найти решение

Jmih

Jmih @Jmih Автор вопроса

Алексей 〒., я находил множество рабочих кодов которые выводили год дату время и т.д. Но я не смог вычленить их этого что то одно и изменить его или сохранить в переменную.

Евгений Шатунов @MarkusD Куратор тега C++

Jmih, с этого и стоит начинать свой вопрос. Сейчас у тебя вопрос выглядит как задание, что нарушает П5.12 регламента работы сервиса.
Изложи в своем вопросе какую документацию ты изучил, какие примеры ты пробовал, что конкретно и в каком коде у тебя не получается.

Jmih

Jmih @Jmih Автор вопроса
Евгений Шатунов, все сделал
Евгений Шатунов @MarkusD Куратор тега C++

Jmih, давай еще раз.
Изложи в своем вопросе какую документацию ты изучил, какие примеры ты пробовал, что конкретно и в каком коде у тебя не получается.

В твоем вопросе нет конкретики. Конкретика никогда не оперирует словами "все" или "ничего".
Тебе нужно показать, что конкретно тебе известно и что конкретно у тебя не получается.

Решения вопроса 1

В есть функция time(), возвращающая текущее время в формате time_t — количество секунд, прошедших с 00:00 1 января 1970. Функция localtime() позволяет перевести time_t в структуру tm, которая состоит из полей, представляющих отдельно часы, минуты, месяц, год и т. д.

#include #include using namespace std; int main() < time_t t1 = time(NULL); tm t = *localtime(&t1); // Вывод текущего времени в формате 06:59:08 printf("%.2d:%.2d:%.2d\n", t.tm_hour, t.tm_min, t.tm_sec); return 0; >

Список полей структуры tm и пояснения к ним есть тут.
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

cpp

  • C++

Почему символ строки с индексом 0 выводит символ под индексом 1?

  • 1 подписчик
  • 11 часов назад
  • 41 просмотр

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *