Тимчасові мітки на PHP: timestamp та обчислення часу

67 0 Новини високих технологій

Час завжди має значення. Сайт, що не контролює час і не використовує його безперервно, не те, щоб не має права на життя, але однозначно не відноситься до повнофункціональним сучасним інтернет-ресурсів.

Функції PHP для роботи з часом

На PHP час і дата представлені набором функцій, достатнім для роботи без обмежень, і можливістю приведення часу і дати до єдиної основи. Розробник завжди може отримати мітку часу для фіксування (відстеження) подій і виконання обчислень дат.


Тимчасові мітки на PHP: timestamp та обчислення часу
При цьому немає необхідності писати власний код, контролюючий (обчислює кількість днів у місяці, високосний рік, день тижня, назва місяця та ін. Можна працювати над проектом і цілком покластися на можливості PHP по роботі з цим параметром.
Тимчасові мітки на PHP: timestamp та обчислення часу
В принципі, двох функцій (getTimeStamp, GetDate) цілком достатньо для рішення будь-якої задачі при роботі з датою та/або часом. Але досвідчений розробник може використовувати і інші функції. Суттєво: на PHP timestamp - це свого роду числова шкала, яка щомиті набуває новий числовий сенс (значення). Історично так склалося, що це число є кількість секунд, що пройшли з півночі 1 січня 1970 року.

Об'єктивна реальність і значення Timestamp

У програмуванні завжди було багато визначних дат. Як кожен пристойний програміст пам'ятає дату своїй самої першої програми, так і сімейство юниксоидов вшановує початок своєї епохи.
Тимчасові мітки на PHP: timestamp та обчислення часу
При цьому ідея за рахунок реалізації методу обмежена за часом. Користуватися нею можна лише до 19 січня 2038 року. В 03:14:08 кількість секунд, що пройшли з 01011970 року, досягне 2^31 (2147483648), що робить це число негативним. Кажуть, що використання не 32-бітної, а 64-бітної змінної для зберігання часу дозволить відстрочити проблему ще на 300 мільярдів років: програмісти люблять баги, як жарти, особливо після 2000 року.


Обчислення періоду та визначення дати

Час, представлене простим числом, дає можливість мати просту арифметику.
Тимчасові мітки на PHP: timestamp та обчислення часу
Цікава ідея використання цієї арифметики в якості ключів записів і/або унікальних подій. Використовуючи у програмі на PHP timestamp в комплексі з ідентифікатором користувача або відвідувача в якості ключа, можна не турбуватися про його унікальності та не витрачати на це час.

Зворотне перетворення в дату і час

Функція time() безпосередньо дає числове знання мітки часу. Незалежно від того, як і коли було виконано перетворення PHP date to timestamp, воно може бути приведене назад до будь-якого зручного поданням функцією date format[, timestamp]). Якщо другий параметр відсутній, буде видана поточна дата і/чи час. Значення format може бути будь-яким, засоби мови надають всі необхідні варіанти для локалізації та форматування дати і часу.
Тимчасові мітки на PHP: timestamp та обчислення часу
Зберігання в числовому вигляді завжди краще символьного, а крім того, суттєво спрощується можливість сортування. Важливою також є можливість застосування простої математики для контролю часових періодів та обчислення дат. Помилку допустити у таких обчисленнях навряд чи можливо, результат будь-яких розрахунків інтерпретується в природний формат дати/часу завжди правильно.

Локалізація часу

І хоча на PHP date to timestamp і подальша робота з числом представляються зручними і ідеальними в сучасному світі, все ж збереглася маса причин зберігати і використовувати дату в її природному, а часом виключно національному форматі.
Тимчасові мітки на PHP: timestamp та обчислення часу
Потужність сучасних комп'ютерів достатня, бази даних ефективно представляють і зберігають інформацію, вибірка виконується швидко, а правильний алгоритм робить роботу з реальними датами цілком припустимою. Часи асемблера і економії на байтах давно в минулому. Не так багато завдань, що вимагають коректного машинного коду і компактного подання даних, більша частина проектів пов'язана з практичними соціальними сферами, де дата повинна бути представлена в належному природному форматі. При всьому цьому, маніпулюючи даними на PHP, timestamp не втрачає свого практичного значення і заслуговує того, щоб бути в арсеналі кваліфікованого розробника.

Поточний момент часу

Загальне правило всіх функцій часу PHP: поточний час = timestamp. Всі дати, задані користувачем вручну або розробником, як правило, це дані: початок або кінець періоду, дата народження, прийому на роботу та ін. Тимчасові дані прийнято вводити за допомогою інтерактивного календаря. Зокрема, це datapicker від jQuery, що дозволяє вводити дату і/або час безпосередньо в середовищі браузера на сторінці сайту.
Тимчасові мітки на PHP: timestamp та обчислення часу
Datapicker і йому подібні розробки виконані не тільки повністю. Вони також надають можливість настроюється локалізації як формату дати/часу, так і назв місяців, днів тижня, символів поділу елементів дати та часу. Розробник може виконати на PHP date to timestamp для перевірки, порівняння, виконання арифметичних операцій. При цьому дані, введені користувачем (відвідувачем) - це не функція PHP timestamp, призначення якої полягає в іншому. Однак саме ця специфіка функцій РНР дозволяє розробнику контролювати введення даних про часу і дати користувачем.