Php timestamp
Содержание:
- Описание
- Convert from epoch to human-readable date
- Преобразование даты и времени в формат timestamp
- Вместо предисловия
- What is epoch time?
- PHP 5 функции даты/времени
- Работа с unix timestamp/time на python
- Время выполнения скрипта
- Функция date
- Описание time и mktime
- Комментарии ( 7 ):
- How to get the current epoch time in …
- Перевести дату в метку времени timestamp -> mktime
Описание
date
Возвращает время, отформатированное в соответствии с аргументом
format, используя метку времени, заданную
аргументом timestamp или текущее системное
время, если timestamp не задан.
Другими словами, timestamp является
необязательным и по умолчанию равен значению, возвращаемому функцией
time().
Таблица 1. В параметре format распознаются
следующие символы
Символ в строке format | Описание | Пример возвращаемого значения |
---|---|---|
a | Ante meridiem или Post meridiem в нижнем регистре | am или pm |
A | Ante meridiem или Post meridiem в верхнем регистре | AM или PM |
B | Время в стадарте Swatch Internet | От 000 до 999 |
c | Дата в формате ISO 8601 (добавлено в PHP 5) | 2004-02-12T15:19:21+00:00 |
d | День месяца, 2 цифры с ведущими нулями | от 01 до 31 |
D | Сокращенное наименование дня недели, 3 символа | от Mon до Sun |
F | Полное наименование месяца, например January или March | от January до December |
g | Часы в 12-часовом формате без ведущих нулей | От 1 до 12 |
G | Часы в 24-часовом формате без ведущих нулей | От до 23 |
h | Часы в 12-часовом формате с ведущими нулями | От 01 до 12 |
H | Часы в 24-часовом формате с ведущими нулями | От 00 до 23 |
i | Минуты с ведущими нулями | 00 to 59 |
I (заглавная i) | Признак летнего времени | 1, если дата соответствует летнему времени, иначе otherwise. |
j | День месяца без ведущих нулей | От 1 до 31 |
l (строчная ‘L’) | Полное наименование дня недели | От Sunday до Saturday |
L | Признак високосного года | 1, если год високосный, иначе . |
m | Порядковый номер месяца с ведущими нулями | От 01 до 12 |
M | Сокращенное наименование месяца, 3 символа | От Jan до Dec |
n | Порядковый номер месяца без ведущих нулей | От 1 до 12 |
O | Разница с временем по Гринвичу в часах | Например: +0200 |
r | Дата в формате RFC 2822 | Например: Thu, 21 Dec 2000 16:01:07 +0200 |
s | Секунды с ведущими нулями | От 00 до 59 |
S | Английский суффикс порядкового числительного дня месяца, 2 символа |
st, nd, rd или th. Применяется совместно с j |
t | Количество дней в месяце | От 28 до 31 |
T | Временная зона на сервере | Примеры: EST, MDT … |
U |
Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) |
См. также time() |
w | Порядковый номер дня недели | От (воскресенье) до 6 (суббота) |
W | Порядковый номер недели года по ISO-8601, первый день недели — понедельник (добавлено в PHP 4.1.0) | Например: 42 (42-я неделя года) |
Y | Порядковый номер года, 4 цифры | Примеры: 1999, 2003 |
y | Номер года, 2 цифры | Примеры: 99, 03 |
z | Порядковый номер дня в году (нумерация с 0) | От до 365 |
Z |
Смещение временной зоны в секундах. Для временных зон западнее UTC это отрицательное число, восточнее UTC — положительное. |
От -43200 до 43200 |
Любые другие символы, встреченные в строке format,
будут выведены в результирующую строку без изменений.
Z всегда возвращает при
использовании gmdate().
Пример 1. Примеры использования функции date() |
Избежать распознавания символа как форматирующего можно, если экранировать
этот символ с помощью \ Если в сочетании с
\ символ являееся специальным (например,
\t), следует добавлять еще один
\.
Пример 2. Экранирование символов в функции date() |
Функции date() и
mktime() для вывода прошедших и будущих дат.
Пример 3. date() и mktime() example
|
Приведем еще несколько примеров использования функции
date(). Помните, что следует экранировать все
символы, которые вы хотите видеть в результате работы функции без
изменений. Это относится и к символам, которые в текущей версии PHP
не распознаются как специальные, так как этим символам может быть
назначено значение в следующих версиях.
Используйте одинарные кавычки для предотвращения преобразования
\n в перевод строки.
Пример 4. Форматирование с использованием date()
|
Для форматирования дат на других языках используйте функции
setlocale() и strftime().
См. также описание функций getlastmod(), gmdate(),
mktime(), strftime()
и time().
Convert from epoch to human-readable date
PHP | Output format example: ‘r’ = RFC 2822 date, |
Python |
Replace time.localtime with time.gmtime for GMT time. Or using datetime: |
Ruby | |
C# | |
Perl | Use the Perl Epoch routines |
Java | Epoch in seconds, remove ‘*1000’ for milliseconds. |
Lua | |
VBScript/ASP | |
AutoIT | |
Delphi | Where Epoch is a signed integer. |
C | Use the C Epoch Converter routines |
Objective-C | |
R | |
Go | |
Adobe ColdFusion | |
MySQL | Default output format is YYY-MM-DD HH:MM:SS. If you need support for negative timestamps: (replace -315619200 with epoch) More MySQL |
PostgreSQL | |
SQLite | or local timezone: |
Oracle PL/SQL | Replace 1526357743 with epoch. |
SQL Server | |
IBM Informix | |
Microsoft Excel / LibreOffice Calc | Format the result cell for date/time, the result will be in GMT time (A1 is the cell with the epoch number). For other time zones: =((A1 +/- time zone adjustment) / 86400) + 25569. |
Crystal Reports | -14400 used for Eastern Standard Time. See Time Zones. |
JavaScript | Use the |
Tcl/Tk | |
MATLAB | |
IBM PureData System for Analytics | |
Unix/Linux Shell | Replace 1520000000 with your epoch, needs recent version of ‘date’. Replace ‘-d’ with ‘-ud’ for GMT/UTC time. |
Mac OS X | |
PowerShell | , then use: . Works for Windows PowerShell v1 and v2 |
Other OS’s | Command line: (If Perl is installed) Replace ‘localtime’ with ‘gmtime’ for GMT/UTC time. |
Thanks to everyone who sent me corrections and updates!
More date related programming examples: What’s the current week number? — What’s the current day number?
Преобразование даты и времени в формат timestamp
Для обратного преобразования даты из стандартного формата в числовое значение timestamp применяется функция:
int mktime(]]]]]])
Функция mktime() возвращает значение времени Unix, соответствующую дате и времени, заданным аргументами. Например:
$my_date = mktime (10, 30, 0, 12, 12, 2014);
Следует внимательно относится к порядку аргументов функции: часы, минуты, секунды, месяц, день, год.
Кроме простого формирования значения даты в timestamp, функцию mktime() можно использовать для арифметически вычисления с датами. Для этого просто можно ввести необходимые аргументы. Например, если указать 14 месяц, то в итоговом значении, месяц будет 2-й, а значение года увеличится на единицу:
$my_day = 12; $my_month = 12; $my_year = 2014;
$new_date = mktime(0, 0, 0, $my_month + 5, $my_day, $my_year);
echo date( ‘d.m.Y’ , $new_date); // 12.05.2015 (дата)
Аналогично можно поступать и с другими параметрами.
Вместо предисловия
Среди задач, с которыми регулярно сталкивается программист, очень часто встречаются разнообразные манипуляции с датами (dates) и временем (time). Никто не будет спорить с тем, что эти значения (символы, параметры) чрезвычайно важны. И база данных, и любая цифровая автоматизированная система не способны корректно работать, если нет точного времени, а также если информация о времени выполнения того либо иного процесса не сохраняется. Вот лишь некоторые примеры использования временных параметров:
— элементарное добавление даты в запись БД;
— отображение времени;
— вывод дат в различном формате;
— проверка текущего времени на соответствие заданному таймеру;
— определение срока между 2-мя датами и так далее.
Чтобы работать со временем было удобно, у каждого языка программирования имеются специальные типы данных, позволяющие хранить соответствующие значения. Обычно речь идёт о числовом значении, как целом, так и с плавающей точкой.
В языке программирования PHP работу со временем символизирует UNIX TIMESTAMP. То есть время тут хранится в виде целого числа, а его исчисление начинается с полуночи 1.01.1970 — с так называемой нулевой даты, принятой в Unix и прочих POSIX-совместимых ОС (ещё эту дату называют «Unix-время»). В результате возвращается число секунд, которое прошло с начала Эпохи Unix.
Прежде чем приступить к дальнейшему изложению материала, следует определить текущее значение времени в формате UNIX TIMESTAMP. Делается это с помощью простейшего кода и функции time:
<?php echo time();
На момент написания материала было 14 октября 2020 года, поэтому в терминале отобразилось следующее:
1602666005
Вы можете проверить вышеописанную команду и получить в PHP текущую дату и время самостоятельно, даже если не являетесь PHP-разработчиком — просто поместите код в любой онлайн-компилятор, вот один из многих. Так же рекомендуется делать и с остальным кодом — это поможет вам лучше понять работу описываемых в статье команд.
Но вернёмся к основной теме разговора. Благодаря коротенькому коду выше, мы получили от сервера текущее время — 1602666005 (у вас значение будет другим, ведь время не стоит на месте))).
Можно согласиться с тем, что для человека такой формат не очень удобен. Но на деле, чем проще представление данных, тем быстрее осуществляется обработка этих данных компьютерным устройством. Да и хранить такие значение в БД в плане ресурсов экономнее, чем при использовании специальных форматов. В итоге PHP работает со значениями времени одинаково на разных платформах (и Unix, и Windows), в результате чего обеспечивается универсальность использования кода.
Если же говорить об удобстве пользователя, то у разработчиков есть масса средств это удобство обеспечить.
What is epoch time?
The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970-01-01T00:00:00Z).
Literally speaking the epoch is Unix time 0 (midnight 1/1/1970), but ‘epoch’ is often used as a synonym for Unix time.
Some systems store epoch dates as a signed 32-bit integer, which might cause problems on January 19, 2038 (known as the Year 2038 problem or Y2038).
The converter on this page converts timestamps in seconds (10-digit), milliseconds (13-digit) and microseconds (16-digit) to readable dates.
Human-readable time | Seconds |
---|---|
1 hour | 3600 seconds |
1 day | 86400 seconds |
1 week | 604800 seconds |
1 month (30.44 days) | 2629743 seconds |
1 year (365.24 days) | 31556926 seconds |
PHP 5 функции даты/времени
Функции | Описание |
---|---|
checkdate() | Проверяет дату григорианского |
date_add() | Добавление дней, месяцев, лет, часов, минут и секунд к дате |
date_create_from_format() | Возвращает новый объект DateTime, отформатированный в соответствии с заданным форматом |
date_create() | Возвращает новый объект DateTime |
date_date_set() | Устанавливает новую дату |
date_default_timezone_get() | Возвращает часовой пояс по умолчанию, используемый всеми функциями даты и времени |
date_default_timezone_set() | Задает часовой пояс по умолчанию, используемый всеми функциями даты и времени |
date_diff() | Возвращает разницу между двумя датами |
date_format() | Возвращает дату, отформатированную в соответствии с заданным форматом |
date_get_last_errors() | Возвращает предупреждения/ошибки, найденные в строке даты |
date_interval_create_from_date_string() | Устанавливает DateInterval из относительных частей строки |
date_interval_format() | Форматирует интервал |
date_isodate_set() | Задает дату ISO |
date_modify() | Изменяет метку времени |
date_offset_get() | Возвращает смещение часового пояса |
date_parse_from_format() | Возвращает ассоциативный массив с подробной информацией о заданной дате, в соответствии с заданным форматом |
date_parse() | Возвращает ассоциативный массив с подробной информацией о заданной дате |
date_sub() | Вычитает дни, месяцы, годы, часы, минуты и секунды с даты |
date_sun_info() | Возвращает массив, содержащий информацию о закате/восходе и сумерках начала/конца, в течение заданного дня и местоположения |
date_sunrise() | Возвращает время восхода на заданный день и местоположение |
date_sunset() | Возвращает время захода солнца для заданного дня и местоположения |
date_time_set() | Устанавливает время |
date_timestamp_get() | Возвращает метку времени Unix |
date_timestamp_set() | Устанавливает дату и время на основе отметки времени Unix |
date_timezone_get() | Возвращает часовой пояс заданного объекта DateTime |
date_timezone_set() | Задает часовой пояс для объекта DateTime |
date() | Форматирует локальную дату и время |
getdate() | Возвращает сведения о дате и времени отметки времени или текущей локальной даты/времени |
gettimeofday() | Возвращает текущее время |
gmdate() | Форматирует дату и время GMT/UTC |
gmmktime() | Возвращает метку времени Unix для даты GMT |
gmstrftime() | Форматирует дату и время GMT/UTC в соответствии с параметрами локали |
idate() | Форматирует локальное время/дату как целое число |
localtime() | Возвращает местное время |
microtime() | Возвращает текущую метку времени Unix с микросекундами |
mktime() | Возвращает метку времени Unix для даты |
strftime() | Форматирует локальное время и/или дату в соответствии с параметрами локали |
strptime() | Анализирует время/дату, сгенерированную с strftime () |
strtotime() | Анализирует английский текстовый DateTime в метку времени Unix |
time() | Возвращает текущее время в виде отметки времени Unix |
timezone_abbreviations_list() | Возвращает ассоциативный массив, содержащий DST, смещение и имя часового пояса |
timezone_identifiers_list() | Возвращает индексированный массив со всеми идентификаторами часовых поясов |
timezone_location_get() | Возвращает сведения о местоположении для заданного часового пояса |
timezone_name_from_ abbr() | Возвращает имя часового пояса из аббревиатуры |
timezone_name_get() | Возвращает имя часового пояса |
timezone_offset_get() | Возвращает смещение часового пояса от GMT |
timezone_open() | Создает новый объект объект класса DateTimeZone |
timezone_transitions_get() | Возвращает все переходы для часового пояса |
timezone_version_get() | Возвращает версию базы данных часового пояса |
Работа с unix timestamp/time на python
Совсем недавно, я начал свое изучение python. Мне потребовалось несколько дней для того чтобы начать писать на нем элементарные вещи. И мне бы хотелось сохранять полезную информацию в виде своих заметок и для питон.
Как преобразовать unix timestamp в datetime на Python?
Делается это очень просто:
#!/bin/env python3 import datetime timestamp = 1339521878.04 value = datetime.datetime.fromtimestamp(timestamp) print(value.strftime('%Y-%m-%d %H:%M:%S'))
Чтобы получить datetime времени (сейчас), можно выполнить:
#!/bin/env python3 import datetime,time dt = datetime.datetime.now() value = datetime.datetime.fromtimestamp(time.mktime(dt.timetuple())) print(value.strftime('%Y-%m-%d %H:%M:%S'))
Вывод будет следующим:
2017-08-04 14:25:21
Как преобразовать datetime в timestamp на Python?
Делается это очень просто:
#!/bin/env python3 from datetime import datetime import time # time tuple in local time to timestamp time_tuple = (2017, 11, 12, 13, 59, 27, 2, 317, 0) timestamp = time.mktime(time_tuple) print (repr(timestamp)) # time tuple in utc time to timestamp time_tuple_utc = (2017, 11, 12, 13, 59, 27, 2, 317, 0) timestamp_utc = calendar.timegm(time_tuple_utc) print (repr(timestamp_utc))
Конвертация в строку:
#!/bin/env python3 from datetime import datetime import time # datetime object to string dt_obj = datetime(2017, 11, 10, 17, 53, 59) date_str = dt_obj.strftime("%Y-%m-%d %H:%M:%S") print (date_str) # time tuple to string time_tuple = (2017, 11, 12, 13, 51, 18, 2, 317, 0) date_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple) print (date_str)
Конвертация в datetime:
#!/bin/env python3 from datetime import datetime import time # time tuple to datetime object time_tuple = (2017, 11, 12, 13, 51, 18, 2, 317, 0) dt_obj = datetime(*time_tuple) print (repr(dt_obj)) # date string to datetime object date_str = "2017-11-10 17:53:59" dt_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") print (repr(dt_obj)) # timestamp to datetime object in local time timestamp = 1226527167.595983 dt_obj = datetime.fromtimestamp(timestamp) print (repr(dt_obj)) # timestamp to datetime object in UTC timestamp = 1226527167.595983 dt_obj = datetime.utcfromtimestamp(timestamp) print (repr(dt_obj))
Получаем вывод:
datetime.datetime(2017, 11, 12, 13, 51, 18) datetime.datetime(2017, 11, 10, 17, 53, 59) datetime.datetime(2008, 11, 12, 23, 59, 27, 595983) datetime.datetime(2008, 11, 12, 21, 59, 27, 595983)
Конвертация time tuples:
#!/bin/env python3 from datetime import datetime import time # datetime object to time tuple dt_obj = datetime(2017, 11, 10, 17, 53, 59) time_tuple = dt_obj.timetuple() print (repr(time_tuple)) # string to time tuple date_str = "2017-11-10 17:53:59" time_tuple = time.strptime(date_str, "%Y-%m-%d %H:%M:%S") print (repr(time_tuple)) # timestamp to time tuple in UTC timestamp = 1226527167.595983 time_tuple = time.gmtime(timestamp) print (repr(time_tuple)) # timestamp to time tuple in local time timestamp = 1226527167.595983 time_tuple = time.localtime(timestamp) print (repr(time_tuple))
Получим вывод:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=10, tm_hour=17, tm_min=53, tm_sec=59, tm_wday=4, tm_yday=314, tm_isdst=- 1) time.struct_time(tm_year=2017, tm_mon=11, tm_mday=10, tm_hour=17, tm_min=53, tm_sec=59, tm_wday=4, tm_yday=314, tm_isdst=- 1) time.struct_time(tm_year=2008, tm_mon=11, tm_mday=12, tm_hour=21, tm_min=59, tm_sec=27, tm_wday=2, tm_yday=317, tm_isdst=0 ) time.struct_time(tm_year=2008, tm_mon=11, tm_mday=12, tm_hour=23, tm_min=59, tm_sec=27, tm_wday=2, tm_yday=317, tm_isdst=0 )
Вот и все.
Время выполнения скрипта
Способ #1
Функция с переданным значением возвращает число секунд, прошедших с полуночи , причём это значение подсчитано до сотых долей секунды. Затем идёт сам скрипт (исполняемый код), который мы и проверяем. В последней строкой будет разница между текущим временем (после выполнения скрипта) и тем, что мы зафиксировали при старте скрипта. Разница времени после выполнения скрипта и времени до начала его работы, и есть время выполнения скрипта.
$start = microtime(true); // исполняемый код ... echo '<br>==============================================================='; echo 'Время выполнения скрипта: ' . (microtime(true) - $start) . ' sec.';
Результат:
Время выполнения скрипта: 0.16499996185303 sec.
Способ #2
Можно вместо брать значение из переменной , которая содержит время запроса к серверу. Вычисление времени выполнения происходит за исполняемым кодом.
// исполняемый код ... $time = microtime(true) - $_SERVER; echo $time . ' sec.';
Если на сервере установлен :
// исполняемый код ... echo xdebug_time_index() . ' sec.';
Способ #4
Можно подсчитать среднее значение выполнения скрипта и записать результат в логи:
$start = microtime(true); // исполняемый код ... $time = round(microtime(true) - $start, 3); $f = fopen('time.log', 'a'); fwrite($f, $time . PHP_EOL); fclose($f); $log = file('time.log'); $result = round(array_sum($log) / count($log), 3); echo $result . ' sec.';
Функция date
Эта функция возвратит пользователю строку в форме даты/времени, сделав это в определённом формате. Формат этот определяет сам пользователь.
Синтаксис функции выглядит так:
date($format);
Видно, что формат указывается в качестве аргумента. Этим аргументом могут выступать самые разные символы, коих существует целая таблица:
Теперь давайте попробуем, как эта таблица работает на практике. Выведем текущий день недели:
<?php echo date("l");
У меня получился Wednesday, а вот что отобразится в консоли у вас, зависит от дня недели, в который вы напишете эту команду.
Теперь выведем дату в виде YYYY-ММ-DD:
<?php echo date('Y-m-d');
А потом и дату, и время:
<?php echo date('l jS \of F Y h:i:s A');
Описание time и mktime
Уже упоминалось, что time возвратит количество секунд с начала т. н. эпохи Unix и вплоть до текущего времени. Однако на практике эта функция чаще используется не в «чистом виде», а вместе с иными функциями.
Для начала займёмся её использованием вместе с меткой текущей даты:
<?php $now = time(); // метка echo $now; $nextWeek = time() + (7 * 24 * 60 * 60); // 7 дней; 24 ч.; 60 мин.; 60 сек. echo $nextWeek; // будет выведено что-то вроде 16026782231603283023
А теперь используем её же, но уже совместно с date(). Давайте выведем текущую дату двумя способами, а потом выведем дату, которая наступит через неделю:
<?php $now = time(); $nextWeek = time() + (7 * 24 * 60 * 60); // Первый способ вывода даты echo 'Сегодня: '. date('Y-m-d') ."\n"; // Второй способ вывода echo 'Сегодня: '. date('Y-m-d', $now) ."\n"; // Дата через неделю echo 'Через неделю будет: '. date('Y-m-d', $nextWeek) ."\n";
Теперь стоит поговорить о том, каким образом с функцией time используется mktime. Именно mktime возвращает метки времени Unix для даты, которую укажет пользователь.
Аргументы могут быть разные, а также опущены справа налево:
Лучше всего рассмотреть вышеописанное на примере. Давайте выведем в терминал:
— текущую полную дату и время (часы, минуты, секунды);
— время и дату завтрашнего дня;
— время и дату следующего месяца того же дня;
— ту же дату, но уже прошедшего года.
<?php // выводим текущую дату и время echo date("r"); // создание метки для завтрашнего дня $tomorrow = mktime(,,,date("m"),date("d")+1, date("Y")); echo date("r", $tomorrow); // создание метки для следующего месяца $nextmonth = mktime(,,,date("m")+1,date("d"), date("Y")); echo date("r", $nextmonth ); // метка для прошлого года $lastyear= mktime(,,,date("m")+1,date("d"), date("Y")-1); echo date("r", $lastyear);
На этом всё
Если интересуют более сложные и продвинутые знания по PHP, обратите внимание на соответствующий курс в OTUS!
По материалам статей:
— https://labs-org.ru/php-6/;
— https://space-base.ru/library/php/rabota-s-datoj-i-vremenem-v-php.
Комментарии ( 7 ):
Я всё понимаю, что с датой работать очень легко, но всё таки — напишите статью как сделать дату для каждого пользователя правильной, ни одной статьи про это нету, лазил 4 часа непрерываясь в поисках ответа на этот вопрос, 92 страницы в гугле обошёл и не нашёл, Пожалуйста напишите про это статью, так как у меня люди на сайте из разных стран, а время даже не моеё страны, совсем другой, которая на 6 часов больше моего времени. а я живу в Украине. напишите статью очень вас прошу
Да, Михаил, меня тоже очень интересует этот вопрос! Хотелось бы статью! Спасибо!
Хорошо, через 1-2 недели будет такая статья.
Спасибо большое, жду с нетерпением!
А можно адрес этой статьи (если она уже есть)?
Здравствуйте ! А как вычитать минуты ? К примеру у меня есть две переменные в минутах: $start = 35; $now = date(«i»); Нужно вычесть из $now-$start чтобы получилось правильно а то не получается . (
Для добавления комментариев надо войти в систему.Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright 2010-2019 Русаков Михаил Юрьевич. Все права защищены.
How to get the current epoch time in …
PHP | More PHP |
Python | Source |
Ruby | (or ). To display the epoch: |
Perl | More Perl |
Java | Returns epoch in seconds. |
C# | (.NET Framework 4.6+/.NET Core), older versions: |
Objective-C | (returns double) or |
C++11 | |
Lua | |
VBScript/ASP | |
AutoIT | |
Delphi | Tested in Delphi 2010. |
R | |
Erlang/OTP | (version 18+), older versions: |
MySQL | More MySQL examples |
PostgreSQL | |
SQLite | |
Oracle PL/SQL | |
SQL Server | |
IBM Informix | |
JavaScript | The getTime method returns the time in milliseconds. |
Visual FoxPro | Warning: time zones not handled correctly |
Go | |
Adobe ColdFusion | |
Tcl/Tk | |
Unix/Linux Shell | |
Solaris | Solaris doesn’t support date +%s, but the default seed value for nawk’s random-number generator is the number of seconds since the epoch. |
PowerShell | |
Other OS’s | Command line: (If Perl is installed on your system) |
Перевести дату в метку времени timestamp -> mktime
Как уже было заявлено выше … у нас есть дата вида:
2019-02-05 11:38mktime
Заменим первое значение -> все знаки(array(‘ ‘,’:’,’.’,’, ‘,)), которые, подозреваем, что есть в нашей дате, на второе значение -> перенос(-), в третьем значении дата(2019-02-05 11:38):
str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’)
Разобьем с помощью explode в массив:
explode(‘-‘, str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’))
Используем функцию list, чтобы сделать из разбитого в массив список …:
list($year , $month , $day, $H, $i, $s) = explode(‘-‘, str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’));
и сталось вернуть временную метку из даты:
echo mktime($H, $i, $s, $month, $day, $year);
Результат:
1549355880