Дата и время - php, javascript



timestamp (отметка времени unix) — количество секунд между определенной датой и 1 января 1970 00:00:00 GMT (эпохи Unix).
php
time(); //Возвращает текущую метку системного времени Unix
mktime(0, 0, 0, 7, 1, 2000);  //метку системного времени Unix на July 1, 2000

метка системного времени из строки
strtotime("now");
strtotime("10 September 2000")
strtotime("+1 day")
strtotime("+1 week")
strtotime("+1 week 2 days 4 hours 2 seconds")
strtotime("next Thursday")
strtotime("last Monday")

Форматируем временную метку Unix
date($format, $t); //$t - Unix метка времени. можно не указывать, будет текущее
https://www.php.net/manual/en/datetime.format.php - форматы даты
$today = date("d.m.Y H:i:s"); // 10.03.2001 17:16:18  - привычный нам формат
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 - формат БД MySQL DATETIME
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month

DateTime  - класс для работы со временем
$myDate = new DateTime();
$myDate->modify("+21 days");
$myDate->setTime(0,0);

$myDate2 = clone $dateMin3week;  //обязательно клонируем, а не копируем
$myDate2->setTime(23,59,59);

$myDate->format("d.m.Y H:i:s");


js
создание
const date1 = new Date(); //2024-05-24T10:43:31.224Z
const date2 = new Date(2023, 11, 31, 23, 59, 59, 999); //можно числами
const date3 = new Date("2023-12-31T18:59:59.999"); //можно из строки
const date4 = new Date("25 May 2022 13:30:00 GMT"); //можно из такой строки
const date5 = new Date(1704031199999);  //можно из метки unix

const dateUnix1 = Date.now(); //1693308631228
const dateUnix2 = Date.parse('2022-05-25T11:00:00');

Для получения
date1.getFullYear(); // получение четырехзначного значения года;
date1.getMonth(); // получение значения месяца от 0 (январь) до 11 (декабрь);
date1.getDate(); // получение числа дня в месяце;
date1.getHours(); // количество часов;
date1.getMinutes(); // количество минут;
date1.getDay(); // получение номера дня недели от нуля (воскресенье) до шести (суббота);
date1.getTime(); // получение количества миллисекунд, прошедших с 1 января 1970 г. UTC.
date1.getUTCHours(); //значение часов
Для получения как строки
date1.toString(); // получение полной строки даты и времени;
date1.toDateString(); // строка только с указанием даты и дня недели;
date1.toTimeString(); // только время;
date1.toISOString(); // преобразование строки в формат ISO.
Для установки
date1.setFullYear(year); //для установки года, где year – четырехзначное число;
date1.setMonth(month); //для установки месяца от 0 до 11;
date1.setDate(date); // число месяца, date – целое число;
date1.setHours(hours); // часы, где hours – целое число;
date1.setMinutes(minutes), для установки минут (целые числа);
date1.setSeconds(seconds), для установки секунд (целые числа);
date1.setMilliseconds(milliseconds) – для установки  миллисекунд (целые числа);
date1.setTime(milliseconds) – устанавливает в соответствии с параметром миллисекундами – milliseconds, прошедших с 1 января 1970 г. UTC.
разница во времени
const ms  = date2-date3; в мс

const start = Date.now();
console.log(`Время выполнения: ${Date.now() - start}мс`);
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!