Дата и время
Встречайте новый встроенный объект: Date. Он содержит дату и время, а также предоставляет методы управления ими.
Например, его можно использовать для хранения времени создания/изменения, для измерения времени или просто для вывода текущей даты.
Создание
Для создания нового объекта Date нужно вызвать конструктор new Date() с одним из следующих аргументов:
Без аргументов – создать объект Date с текущими датой и временем:
Создать объект Date с временем, равным количеству миллисекунд (тысячная доля секунды), прошедших с 1 января 1970 года UTC+0.
Целое число, представляющее собой количество миллисекунд, прошедших с начала 1970 года, называется таймстамп (англ. timestamp).
Это – легковесное численное представление даты. Из таймстампа всегда можно получить дату с помощью new Date(timestamp) и преобразовать существующий объект Date в таймстамп, используя метод date.getTime() (см. ниже).
Датам до 1 января 1970 будут соответствовать отрицательные таймстампы, например:
Если аргумент всего один, и это строка, то из неё «прочитывается» дата. Алгоритм разбора – такой же, как в Date.parse , который мы рассмотрим позже.
Создать объект Date с заданными компонентами в местном часовом поясе. Обязательны только первые два аргумента.
- year должен состоять из четырёх цифр. Для совместимости также принимаются 2 цифры и рассматриваются как 19xx , к примеру, 98 здесь это тоже самое, что и 1998 , но настоятельно рекомендуется всегда использовать 4 цифры.
- month начинается с 0 (январь) по 11 (декабрь).
- Параметр date здесь представляет собой день месяца. Если параметр не задан, то принимается значение 1 .
- Если параметры hours/minutes/seconds/ms отсутствуют, их значением становится 0 .
Максимальная точность – 1 мс (до 1/1000 секунды):
Получение компонентов даты
Существуют методы получения года, месяца и т.д. из объекта Date :
getFullYear() Получить год (4 цифры) getMonth() Получить месяц, от 0 до 11. getDate() Получить день месяца, от 1 до 31, что несколько противоречит названию метода. getHours(), getMinutes(), getSeconds(), getMilliseconds() Получить, соответственно, часы, минуты, секунды или миллисекунды.
Многие интерпретаторы JavaScript реализуют нестандартный и устаревший метод getYear() , который порой возвращает год в виде двух цифр. Пожалуйста, обходите его стороной. Если нужно значение года, используйте getFullYear() .
Кроме того, можно получить определённый день недели:
getDay() Вернуть день недели от 0 (воскресенье) до 6 (суббота). Несмотря на то, что в ряде стран за первый день недели принят понедельник, в JavaScript начало недели приходится на воскресенье.
Все вышеперечисленные методы возвращают значения в соответствии с местным часовым поясом.
Однако существуют и их UTC-варианты, возвращающие день, месяц, год для временной зоны UTC+0: getUTCFullYear(), getUTCMonth(), getUTCDay(). Для их использования требуется после "get" подставить "UTC" .
Если ваш местный часовой пояс смещён относительно UTC, то следующий код покажет разные часы:
Помимо вышеприведённых методов, существуют два особых метода без UTC-варианта:
Для заданной даты возвращает таймстамп – количество миллисекунд, прошедших с 1 января 1970 года UTC+0.
Возвращает разницу в минутах между UTC и местным часовым поясом:
Установка компонентов даты
Следующие методы позволяют установить компоненты даты и времени:
У всех этих методов, кроме setTime() , есть UTC-вариант, например: setUTCHours() .
Как мы видим, некоторые методы могут устанавливать сразу несколько компонентов даты, например: setHours . Если какая-то компонента не указана, она не меняется.
Автоисправление даты
Автоисправление – это очень полезная особенность объектов Date . Можно устанавливать компоненты даты вне обычного диапазона значений, а объект сам себя исправит.
Неправильные компоненты даты автоматически распределяются по остальным.
Предположим, нам требуется увеличить дату «28 февраля 2016» на два дня. В зависимости от того, високосный это год или нет, результатом будет «2 марта» или «1 марта». Нам об этом думать не нужно. Просто прибавляем два дня. Объект Date позаботится об остальном:
Эту возможность часто используют, чтобы получить дату по прошествии заданного отрезка времени. Например, получим дату «спустя 70 секунд с текущего момента»:
Также можно установить нулевые или даже отрицательные значения. Например:
Преобразование к числу, разность дат
Если объект Date преобразовать в число, то получим таймстамп по аналогии с date.getTime() :
Важный побочный эффект: даты можно вычитать, в результате получаем разность в миллисекундах.
Этот приём можно использовать для измерения времени:
Date.now()
Если нужно просто измерить время, объект Date нам не нужен.
Существует особый метод Date.now() , возвращающий текущую метку времени.
Семантически он эквивалентен new Date().getTime() , однако метод не создаёт промежуточный объект Date . Так что этот способ работает быстрее и не нагружает сборщик мусора.
Данный метод используется из соображений удобства или когда важно быстродействие, например, при разработке игр на JavaScript или других специализированных приложений.
Вероятно, предыдущий пример лучше переписать так:
Бенчмаркинг
Будьте внимательны, если хотите точно протестировать производительность функции, которая зависит от процессора.
Например, сравним две функции, вычисляющие разницу между двумя датами: какая сработает быстрее?
Подобные вычисления, замеряющие производительность, также называют «бенчмарками» (benchmark).
Обе функции делают буквально одно и то же, только одна использует явный метод date.getTime() для получения даты в миллисекундах, а другая полагается на преобразование даты в число. Результат их работы всегда один и тот же.
Но какая функция быстрее?
Для начала можно запустить их много раз подряд и засечь разницу. В нашем случае функции очень простые, так что потребуется хотя бы 100000 повторений.
Вот это да! Метод getTime() работает ощутимо быстрее! Всё потому, что не производится преобразование типов, и интерпретаторам такое намного легче оптимизировать.
Замечательно, это уже что-то. Но до хорошего бенчмарка нам ещё далеко.
Представьте, что при выполнении bench(diffSubtract) процессор параллельно делал что-то ещё, также потребляющее ресурсы. А к началу выполнения bench(diffGetTime) он это уже завершил.
Достаточно реалистичный сценарий в современных многопроцессорных операционных системах.
В итоге у первого бенчмарка окажется меньше ресурсов процессора, чем у второго. Это может исказить результаты.
Для получения наиболее достоверных результатов тестирования производительности весь набор бенчмарков нужно запускать по нескольку раз.
Современные интерпретаторы JavaScript начинают применять продвинутые оптимизации только к «горячему коду», выполняющемуся несколько раз (незачем оптимизировать то, что редко выполняется). Так что в примере выше первые запуски не оптимизированы должным образом. Нелишним будет добавить предварительный запуск для «разогрева»:
Современные интерпретаторы JavaScript выполняют множество оптимизаций. Они могут повлиять на результаты «искусственных тестов» по сравнению с «нормальным использованием», особенно если мы тестируем что-то очень маленькое, например, работу оператора или встроенной функции. Поэтому если хотите серьёзно понять производительность, пожалуйста, изучите, как работают интерпретаторы JavaScript. И тогда вам, вероятно, уже не понадобятся микробенчмарки.
Отличный набор статей о V8 можно найти на https://mrale.ph.
Разбор строки с датой
Метод Date.parse(str) считывает дату из строки.
Формат строки должен быть следующим: YYYY-MM-DDTHH:mm:ss.sssZ , где:
- YYYY-MM-DD – это дата: год-месяц-день.
- Символ "T" используется в качестве разделителя.
- HH:mm:ss.sss – время: часы, минуты, секунды и миллисекунды.
- Необязательная часть ‘Z’ обозначает часовой пояс в формате +-hh:mm . Если указать просто букву Z , то получим UTC+0.
Возможны и более короткие варианты, например, YYYY-MM-DD или YYYY-MM , или даже YYYY .
Date JS: Текущая Дата и Время в Javascript
В этом посте хочу затронуть тему работы с датами в Javascript, которая, при первом приближении, может показаться сложной.
Для работы с датами Javascript предоставляет разработчикам встроенный функционал в виде объекта Date .
Экземпляр объекта Date — это момент времени. Методы объекта позволяют управлять не только датами, но и временем.
Рассмотрим 4 способа создать новый объект Date.
1. Использовать конструктор new Date() без передачи дополнительных параметров
Для создания нового объекта Date требуется вызвать конструктор:
Это позволит нам получить новый экземпляр объекта Date , содержащий текущий момент времени.
В качестве нулевой (базовой) даты, Javascript использует 1 Января 1970 00:00:00 UTC . Текущий момент времени — количество миллисекунд, прошедших с нулевой даты.
2. Использовать конструктор new Date() с передачей временной метки, выраженной в миллисекундах
Вероятно, вы сталкивались с временной меткой Unix, которая использует ту же нулевую дату, но представлена не в миллисекундах, а секундах.
Мы можем передать временную метку Unix в объект Date и получить соответствующий момент времени следующим образом:
Если мы передадим 0 в объект Date , то получим нулевую дату 1 Января 1970.
Можно также использовать встроенный метод Date.now() , чтобы получить текущую временную метку в миллисекундах и передать ее в объект Date .
3. Передать дату в объект Date — в формате строки
Мы также можем использовать строчные выражения для передачи в объект Date и получения соответствующего момента времени. В этом случае в объекте Date будет автоматически использоваться метод parse для определения даты и времени, которые мы в него передаем.
Также есть возможность использовать метод Date.parse() , который возвращает временную метку в миллисекундах.
4. Передать набор параметров в объект Date
Еще один способ создать новый экземпляр объекта Date – передать в него набор значений, соответствующих году, месяцу (первый месяц равен 0), дню, часу, минутам, секундам и миллисекундам.
Во всех случаях, указанных выше, мы получаем дату, привязанную к временной зоне нашего компьютера. То есть, используя одинаковые входные данные на разных компьютерах, можно получить разные результаты.
Javascript использует UTC в качестве базовой временной зоны, и производит автоматическую конверсию в локальную временную зону вашего компьютера.
Как Поменять Временную Зону?
У нас есть 2 варианта изменения временной зоны при создании нового экземпляра объекта Date:
- Использование формата “+Часы”
- Передать название временной зоны в скобках
Важно учитывать, что, если во 2-м случае вы передадите название временной зоны в неверном формате, Javascript автоматически будет использовать зону UTC. При этом вы не получите сообщения об ошибке.
В первом случае, при передаче часов в неверном формате, Javascript оповестит вас ошибкой “Invalid Date”.
Объект Date: Форматирование
Объект Date содержит ряд методов, которые возвращают дату и время в формате строки:
Javascript: Текущая дата и время (все методы получения)
Для получения значений даты и времени используются следующие методы:
Также есть возможность сразу получать значения даты и времени привязанных не локальной зоне компьютера пользователя, а к зоне UTC.
Установка Компонентов Даты и Времени
Для установки отдельных компонентов даты или времени можно использовать следующие методы:
Другие методы установки отдельных компонентов объекта Date :
Методы setHours() , setMinutes() и setSeconds() помимо базовых значений принимают значения минут, секунд или миллисекунд для более точных установок. Формат ввода выглядит следующим бразом:
Стоить помнить, что если мы укажем обновленное значение часов следующим образом date.setHours(72) , то это приведет к обновлению нашей даты (прибавится 3 дня).
Как Получить Текущее Время из Объекта Javascript Date?
Для получения текущего времени, выраженного в миллисекундах можно использовать метод Date.now() вместо более длинного варианта new Date().getTime() .
Форматирование Даты и Времени в Соответствии с Разными Языками
API Интернационализации (Internationalization API) используется для форматирования даты и времени в соответствии с нужным языком.
В качестве примера, можно привести различия в формате написания дат в России (первым идет день — 31.01.2020) и США (первым идет месяц — 01.31.2020).
Все методы интернационализации дат, времени, а также других единиц (валют) доступны в объекте Intl .
Метод Intl.DateTimeFormat()
В этом посте нас интересует метод Intl.DateTimeFormat() , который используется для форматирования даты и времени.
Рассмотрим следующий пример:
Давайте получим дату в локальном формате:
Теперь получим дату в формате, который используется в США. Для этого используем параметр en-Us (английский язык, используемый в США (US)):
Как Сравнить 2 Даты
Самый простой способ сравнить 2 даты – использовать метод Date.getTime() .
Также для сравнения дат можно использовать условия if :
Использование Библиотеки Moment.js
Рассмотрим несколько примеров ее использования.
Сначала устанавливаем пакет с помощью команды npm install moment .
Список опций форматирования доступен в документации библиотеки (пара примеров):
- YYYY-MM-DD — 2017-12-14
- HH:mm:ss — 16:34:10
Один из методов библиотеки, которые часто приходится использовать – fromNow() , который возвращает количество времени, которое прошло с указанной даты.
Я использую этот метод для отображения времени, которое прошло с даты публикации постов в блоге.
Rukovodstvo
статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
Как получить текущую дату и время в Java
Введение В этой статье мы рассмотрим множество способов получить текущую дату и время в Java. Большинство приложений нуждаются в отметках времени событий или отображении даты / времени, среди многих других вариантов использования: * Когда мы публикуем блоги на веб-сайте, дата публикации записывается в базу данных и отображается читателю. * Когда мы совершаем действие, мы хотели бы знать, когда оно будет доступно, чтобы мы могли отслеживать их. * Когда мы покупаем что-то в Интернете или совершаем транзакцию, наш ba
Время чтения: 6 мин.
Вступление
В этой статье мы рассмотрим множество способов получить текущую дату и время в Java . Большинство приложений нуждаются в отметках времени событий или отображении даты / времени, среди многих других вариантов использования:
- Когда мы публикуем блоги на веб-сайте, дата публикации записывается в базу данных и отображается читателю.
- Когда мы совершаем действие, мы хотели бы знать, когда оно будет доступно, чтобы мы могли отслеживать их.
- Когда мы покупаем что-то в Интернете или совершаем транзакцию, наши банки предлагают нам список транзакций с точными отметками времени, чтобы мы могли их просмотреть.
Короче говоря, получение текущей даты и времени в Java очень важно и имеет множество применений, и, к счастью, это действительно легко получить для любого использования.
System.currentTimeMillis ()
Если вы хотите получить одно числовое значение миллисекунд, прошедших с эпохи UNIX , это так же просто, как:
Распечатка этого значения приведет к примерно следующему:
При преобразовании этого числа обратно в удобочитаемую дату оно представляет:
А чтобы сделать это на Java, нам понадобится всего пара строк кода:
Выполнение этого фрагмента кода даст:
Примечание: имейте в виду, что этот метод возвращает текущее значение в зависимости от вашего системного времени.
java.util.Date
В Java получить текущую дату так же просто, как создать экземпляр Date из пакета Java java.util :
Мы можем легко отформатировать эту дату:
И запуск этого фрагмента кода даст:
API календаря
Среди множества классов Java есть Calendar , который используется для преобразования даты и времени между конкретными моментами и полями календаря.
Получить текущую дату и время очень просто с помощью календаря:
Опять же, мы можем легко отформатировать это:
Метод getTime() возвращает объект Date Поскольку SimpleDateFormat работает только с Date , мы вызываем метод getTime() Calendar для его форматирования.
Выполнение этого фрагмента кода даст:
API даты / времени
Java 8 познакомила нас с совершенно новым API, который был включен в сборку для замены java.util.Date и java.util.Calendar .
По-прежнему полезно знать, как получить текущую дату и время с помощью двух предыдущих классов, поскольку не все приложения еще перешли на Java 8.
API даты / времени предоставляет несколько классов, на которые мы можем положиться при выполнении работы:
LocalDate
LocalDate представляет собой просто дату без времени. Это означает, что мы можем получить только текущую дату, но без времени суток:
На этот раз вместо инициализации нового объекта мы вызываем статический метод now() который возвращает текущую дату в соответствии с системными часами с часовым поясом по умолчанию.
Мы можем отформатировать этот объект:
Выполнение этого фрагмента кода даст:
Вы также можете передать ZoneId методу для получения даты на основе указанного часового пояса, а не по умолчанию:
Вы можете получить список всех доступных идентификаторов часовых поясов через:
Местное время
LocalTime является противоположностью LocalDate , поскольку представляет только время без даты. Это означает, что мы можем получить только текущее время дня без фактической даты:
Мы можем легко отформатировать этот объект:
Выполнение этого фрагмента кода даст:
LocalDateTime
И, наконец, LocalDateTime , наиболее часто используемый класс Date / Time в Java, представляет собой комбинацию двух предыдущих — хранит значение как даты, так и времени:
Мы можем легко отформатировать этот объект:
Выполнение этого фрагмента кода даст:
ZonedDateTime
Наряду с предыдущими классами ZonedDateTime также предлагает эту функциональность:
Мы можем легко отформатировать этот объект:
Выполнение этого фрагмента кода даст:
Другой класс, представленный нам в Java 8 Date / Time API, — это класс Clock Он обеспечивает доступ к текущему Instant , LocalDate , LocalTime и LocalDateTime с использованием часового пояса.
При этом, используя Clock , вы практически создаете экземпляры всех из них и можете получить доступ к тем, которые вам интересны.
С помощью этого экземпляра объекта мы можем создать экземпляры многих из ранее упомянутых классов:
Примечание: уместно спросить, почему мы использовали Clock вместо того, чтобы просто оставить метод now() пустым. Clock является обязательным, и метод now() обычно использует системные часы для определения значений. Хотя с помощью часов вы можете иметь больше, чем просто часы вашей системы, если хотите. Однако в нашем примере это не имеет значения.
Используя clock , мы можем извлечь Instant :
Выполнение этого кода даст:
Вы можете создать зонированные Clock , передав ZoneId в Clock.system() :
Печать значения Instant принадлежащего clock , даст:
И, наконец, используя Clock помощью millis() , вы можете получить доступ к миллисекундному значению часов, которое совпадает с System.currentTimeMillis() :
Оба они распечатают:
Джода-Тайм
Joda-Time — это инструмент, который изначально был разработан для решения проблем со старыми классами времени и даты Java.
С выпуском Java 8 эти проблемы были решены, и Joda-Time выполнила свою задачу, хотя сегодня не используется очень часто.
Опять же, если ваш проект не обновлен до Java 8, Joda-Time по-прежнему является отличным инструментом для использования в качестве альтернативы.
Чтобы использовать его в своем проекте, проще всего просто добавить зависимость Maven:
Работа с Joda-Time очень похожа на работу с Java Date / Time API:
Примечание. При первой инициализации DateTime Joda-Time возникают известные проблемы с производительностью из-за загрузки дескрипторов хронологии .
Этот объект легко отформатировать:
Выполнение этого фрагмента кода даст:
Заключение
Во многих случаях кому-то может понадобиться получить текущую дату и / или время в Java, и мы рассмотрели все подходы, которые существуют на данный момент для этого, включая более старые классы — java.util.Date и java.util.Calendar а также новые java.time которые появились с новым API даты / времени.
Кроме того, мы рассмотрели Joda-Time и его подход к получению текущей даты и времени.
Если вы хотите прочитать о преобразовании строки в дату в Java , у нас это есть!
Время и дата в PHP
PHP имеет ряд методов для работы с функциями времени PHP, такими как получение текущего времени и даты, управление датами и форматирование даты для отображения.
- Получение текущего времени и даты:
- Компания time() Функция возвращает текущую метку времени, которая представляет собой количество секунд с 1 января 1970 года.
- Компания date() Функция может использоваться для форматирования текущей даты и времени в соответствии с указанным форматом.
- Компания getdate() Функция возвращает ассоциативный массив, содержащий информацию о текущей дате и времени.
- Компания microtime() функция возвращает текущую метку времени с микросекундами.
- Манипуляции с датами:
- Компания strtotime() Функцию можно использовать для преобразования строки даты в метку времени.
- Компания mktime() Функцию можно использовать для создания метки времени для определенной даты и времени.
- Компания date_create() и date_create_from_format() функции могут использоваться для создания нового объекта даты.
- Компания date_modify() Функция может использоваться для изменения объекта даты.
- Форматирование даты для отображения:
- Компания date() Функцию можно использовать для форматирования метки времени или объекта даты в соответствии с указанным форматом.
- Компания date_format() Функция может использоваться для форматирования объекта даты в соответствии с указанным форматом.
- Компания strftime() Функцию можно использовать для форматирования метки времени или объекта даты в соответствии с указанным форматом и локалью.
- Функции часового пояса:
- Компания date_default_timezone_set() Функция может использоваться для установки часового пояса по умолчанию.
- Компания date_default_timezone_get() можно использовать для получения часового пояса по умолчанию.
- Компания date_timezone_set() Функция может использоваться для установки часового пояса для объекта даты.
- Компания date_timezone_get() Функция может использоваться для получения часового пояса для объекта даты.
- Функции календаря:
- Компания cal_days_in_month() Функцию можно использовать для получения количества дней в месяце для данного года и календаря.
- Компания cal_from_jd() Функцию можно использовать для преобразования числа дней по юлианскому календарю в календарную дату.
- Компания cal_info() Функция может использоваться для получения информации о календаре.
- Компания easter_date() и easter_days() функции могут быть использованы для расчета даты Пасхи.
Стоит отметить, что при работе с функциями даты и времени очень важно сохранять часовой пояс и настройки летнего времени (DST). Неправильная обработка этих параметров может привести к ошибкам и непредвиденным последствиям.
Таким образом, PHP имеет методы для получения текущий время и дата, манипулирование датами, форматирование дат для дисплей, а также управление часовыми поясами и календарь функции. Вы можете повысить точность и функциональность своих PHP-программ, зная эти функции.
- Получение текущего времени и даты:
- Компания time() Функция возвращает текущую отметку времени, которая представляет собой количество секунд с 1 января 1970 года. Отметка времени — это широко используемый формат для хранения и сравнения дат и времени в компьютерных системах. Это полезно для отслеживания продолжительности событий, сравнения дат и времени и создания уникальных идентификаторов.
Компания данные() может использоваться для форматирования текущей даты и времени в пользовательский формат. Строка формата и отметка времени — единственные параметры, принимаемые функцией даты. Если метка времени не указана, используется текущая метка времени.
Компания Getdate() метод производит ассоциативный массив содержащий информацию о текущей дате и времени. Он принимает только один параметр, временную метку, которая устанавливается на текущую временную метку, если не указана. Возвращаемый массив содержит такие данные, как день недели, месяц и год.
Текущая метка времени в микросекундах возвращается функцией микровремя() метод. Это удобно для определения скриптов и функций. Функция возвращает значение с плавающей запятой, включая метку времени и количество микросекунд.
- Манипуляции с датами:
- Чтобы преобразовать строку даты в отметку времени, используйте StrToTime() метод. В качестве аргумента функция принимает строку в нескольких формах, таких как «вчера», «+1 неделя», «в следующий понедельник» и т. д. Этот метод можно использовать для трансформировать пользовательский ввод в метку времени для дополнительной обработки или сравнения.
Чтобы создать метку времени для определенного дня и времени, используйте мктайм() метод. Он принимает шесть параметров, которые указывают год, месяц, день, час, минуту и секунду. Он возвращает метку времени для даты и времени.
Компания date_create() и date_create_from_format() функции могут использоваться для создания нового объекта даты.
Дата ($ время, $ формат)
параметры
Формат | Установите формат метки времени в возвращаемом значении. Эта функция принимает все форматы, принятые DateTimeInterface :: format (). |
Timestamp | Установить отметка времени в возвращаемом значении. По умолчанию возвращает текущую дату и время. Другими словами, по умолчанию используется значение функции time(). |
Чтобы определить формат, вы должны быть знакомы с символами, обозначающими соответствующий формат.
d | Представляет день месяца (с 01 по 31) |
m | Представляет месяц (с 01 по 12) |
y | Представляет год (четырьмя цифрами) |
l | (строчная буква L) — обозначает день недели. |
В PHP 8.0 метка времени теперь может быть нулевой.
Возвращаемое значение
Успех | Он возвращает строку, отформатированную в соответствии с параметром формата. |
Ошибки / исключения | Если часовой пояс неверен, функция даты вернет E_WARNING. |
Чтобы узнать о действительных часовых поясах, вы можете перейти к этому ссылке.
Пример
Возвращает текущую дату в указанном формате.
Как использовать функцию даты для получения текущего времени в PHP
Передайте символы времени в функцию даты, чтобы получить текущее время в указанном формате. Ниже приведены наиболее важные и полезные символы времени в PHP.
H | 24-часовой формат часа (от 00 до 23) |
h | 12-часовой формат часа с ведущими нулями (от 01 до 12) |
i | Минуты с ведущими нулями (от 00 до 59) |
s | Секунды с ведущими нулями (от 00 до 59) |
a | Строчные буквы Ante meridiem и Post meridiem (am или pm) |
Получить текущее время в определенном формате
Возвращает ли функция даты время клиента или время сервера?
Функция выше будет выходной текущее время. Здесь важно помнить, что функция даты возвращает сервер текущая дата и время машины. Большинство людей недоумевают, почему эта функция не возвращает время клиента.
Как установить часовой пояс функции даты в PHP?
Если вы не получаете правильное время, используя предыдущий пример, возможно, ваш сервер был размещен в другом месте. страна и часовые пояса вашего текущего местоположения и местоположения сервера отличаются. В этом случае вы можете установить часовой пояс данные функция, использующая установленный часовой пояс даты по умолчанию («Азия»); функция.
Что такое отметка времени UNIX?
Временная метка Unix — это количество секунд между 01 января 1970 года и текущим указанным временем.
Как создать дату в php
Вы можете создать свою собственную метку времени или дату в PHP, используя функцию времени. В этом разделе вы узнаете о мктайм функция в PHP 8.
mktime (час, минута, секунда, месяц, день, год)
Параметры функции понятны из их названий. Вот пример:
Как создать дату из строки?
PHP имеет очень полезную функцию даты, называемую strtotime (). Эта функция преобразует удобочитаемую строку даты в отметку времени Unix. Если вы хотите узнать о времени Unix, вы можете прочитать его в разделе выше.
strtotime (время, сейчас)
Строка, принятая StrToTime функция должна быть правильно и корректно отформатирована, иначе вы не получите правильное значение на выходе. Ниже приведены некоторые примеры, связанные с StrToTime функции.
Как получить разницу между двумя датами в php?
Компания date_diff () метод вычитает две действительные даты и выводит разницу в виде количества дней.
Первый и второй параметры — это объекты даты, которые будут вычтены, а третий параметр — логическое значение. По умолчанию установлено значение false. Если установлено значение true, разница будет положительной.
Как добавить дни, месяцы, годы или часы, минуты и секунды к дате в PHP?
Если вы PHP-разработчик, у вас могла возникнуть ситуация, когда вам нужно было добавить время или дату в другой объект даты. Для этого PHP предоставляет нам date_add функция.
Дата объекта | Определяет объект DateTime, возвращаемый date_create () |
Интервал | Определяет объект DateInterval |
Вопросы и ответы
В: Какова функция для получения текущей даты и времени в PHP?
A: Функция для получения текущей даты и времени в PHP — «date()».
В: Как отформатировать дату и время с помощью функции «date()»?
О: Функция «date()» принимает один обязательный параметр — строку, содержащую коды форматов. Эти коды представляют различные части даты и времени, такие как год, месяц, день, час, минута и секунда. Например, чтобы отобразить текущую дату и время в формате «Ymd H:i:s», вы должны использовать следующий код: echo date(«Ymd H:i:s»);
В: Могу ли я установить часовой пояс при использовании функции «date()»?
О: Да, вы можете установить часовой пояс при использовании функции «date()» с помощью функции «date_default_timezone_set()». Например, чтобы установить часовой пояс на тихоокеанское стандартное время, вы должны использовать следующий код: date_default_timezone_set(‘America/Los_Angeles’);
Q: Есть ли способ вычислить разницу между двумя датами в PHP?
О: Да, вы можете использовать класс «DateTime» для вычисления разницы между двумя датами. Например, чтобы вычислить разницу между текущей датой и временем и будущей датой и временем, вы должны использовать следующий код: $current_date = new DateTime(); $future_date = новый DateTime(‘2022-12-31’); $diff = $current_date->diff($future_date); echo $diff->format(‘%R%a days’);
Q: Как мне получить временную метку определенной даты и времени в PHP?
О: Вы можете использовать функцию strtotime(), чтобы получить временную метку определенной даты и времени. Например, чтобы получить временную метку даты «2022-12-31», вы должны использовать следующий код: $date = «2022-12-31»; $timestamp = strtotime($date);
Q: Как преобразовать метку времени в формат даты и времени в PHP?
О: Вы можете использовать функцию date() для преобразования метки времени в формат даты и времени. Например, чтобы преобразовать отметку времени в формат «Ymd H:i:s», вы должны использовать следующий код: $timestamp = 1609459200; $date = date(‘Ymd H:i:s’, $timestamp);
Упражнения:
- Как узнать текущую дату и время?
- Как форматировать дату и время?
- Как рассчитать разницу между двумя датами?
- Как преобразовать метку времени в дату и время?
- Как получить временную метку определенной даты и времени?
- Как узнать количество дней в месяце?
- Как проверить, является ли год високосным?
- Как узнать текущий часовой пояс?
Ответы:
- Текущую дату и время можно получить с помощью функции date(). Например: date(«Ymd H:i:s»);
- Дата и время могут быть отформатированы с помощью функции date() и указания параметра формата. Например: date(«mdY H:i:s», time());
- Разницу между двумя датами можно вычислить с помощью функции strtotime() и вычитания временных меток двух дат. Например: $diff = strtotime(«2022-01-01») – strtotime(«2021-01-01»);
- Временная метка может быть преобразована в дату и время с помощью функции date() и указания временной метки в качестве второго параметра. Например: date(«Ymd H:i:s», 1609459200);
- Временная метка определенной даты и времени может быть получена с помощью функции strtotime(). Например: strtotime(«2022-01-01»);
- Количество дней в месяце можно получить с помощью функции cal_days_in_month(). Например: cal_days_in_month(CAL_GREGORIAN, 2, 2022);
- Год можно проверить, является ли он високосным, используя функцию date() и указав «L» в качестве параметра формата. Например: дата («L», strtotime («2022-01-01»));
- Текущий часовой пояс можно получить с помощью функции date_default_timezone_get().
Читать больше о функции времени и даты в последней версии PHP 8 см. официальная страница PHP 8.