Час завжди має значення. Сайт, що не контролює час і не використовує його безперервно, не те, щоб не має права на життя, але однозначно не відноситься до повнофункціональним сучасним інтернет-ресурсів.
Функції PHP для роботи з часом
На PHP час і дата представлені набором функцій, достатнім для роботи без обмежень, і можливістю приведення часу і дати до єдиної основи. Розробник завжди може отримати мітку часу для фіксування (відстеження) подій і виконання обчислень дат.
При цьому немає необхідності писати власний код, контролюючий (обчислює кількість днів у місяці, високосний рік, день тижня, назва місяця та ін. Можна працювати над проектом і цілком покластися на можливості PHP по роботі з цим параметром.
В принципі, двох функцій (getTimeStamp, GetDate) цілком достатньо для рішення будь-якої задачі при роботі з датою та/або часом. Але досвідчений розробник може використовувати і інші функції. Суттєво: на PHP timestamp - це свого роду числова шкала, яка щомиті набуває новий числовий сенс (значення). Історично так склалося, що це число є кількість секунд, що пройшли з півночі 1 січня 1970 року.
Об'єктивна реальність і значення Timestamp
У програмуванні завжди було багато визначних дат. Як кожен пристойний програміст пам'ятає дату своїй самої першої програми, так і сімейство юниксоидов вшановує початок своєї епохи.
При цьому ідея за рахунок реалізації методу обмежена за часом. Користуватися нею можна лише до 19 січня 2038 року. В 03:14:08 кількість секунд, що пройшли з 01011970 року, досягне 2^31 (2147483648), що робить це число негативним. Кажуть, що використання не 32-бітної, а 64-бітної змінної для зберігання часу дозволить відстрочити проблему ще на 300 мільярдів років: програмісти люблять баги, як жарти, особливо після 2000 року.
Обчислення періоду та визначення дати
Час, представлене простим числом, дає можливість мати просту арифметику.
Цікава ідея використання цієї арифметики в якості ключів записів і/або унікальних подій. Використовуючи у програмі на PHP timestamp в комплексі з ідентифікатором користувача або відвідувача в якості ключа, можна не турбуватися про його унікальності та не витрачати на це час.
Зворотне перетворення в дату і час
Функція time() безпосередньо дає числове знання мітки часу. Незалежно від того, як і коли було виконано перетворення PHP date to timestamp, воно може бути приведене назад до будь-якого зручного поданням функцією date format[, timestamp]). Якщо другий параметр відсутній, буде видана поточна дата і/чи час. Значення format може бути будь-яким, засоби мови надають всі необхідні варіанти для локалізації та форматування дати і часу.
Зберігання в числовому вигляді завжди краще символьного, а крім того, суттєво спрощується можливість сортування. Важливою також є можливість застосування простої математики для контролю часових періодів та обчислення дат. Помилку допустити у таких обчисленнях навряд чи можливо, результат будь-яких розрахунків інтерпретується в природний формат дати/часу завжди правильно.
Локалізація часу
І хоча на PHP date to timestamp і подальша робота з числом представляються зручними і ідеальними в сучасному світі, все ж збереглася маса причин зберігати і використовувати дату в її природному, а часом виключно національному форматі.
Потужність сучасних комп'ютерів достатня, бази даних ефективно представляють і зберігають інформацію, вибірка виконується швидко, а правильний алгоритм робить роботу з реальними датами цілком припустимою. Часи асемблера і економії на байтах давно в минулому. Не так багато завдань, що вимагають коректного машинного коду і компактного подання даних, більша частина проектів пов'язана з практичними соціальними сферами, де дата повинна бути представлена в належному природному форматі. При всьому цьому, маніпулюючи даними на PHP, timestamp не втрачає свого практичного значення і заслуговує того, щоб бути в арсеналі кваліфікованого розробника.
Поточний момент часу
Загальне правило всіх функцій часу PHP: поточний час = timestamp. Всі дати, задані користувачем вручну або розробником, як правило, це дані: початок або кінець періоду, дата народження, прийому на роботу та ін. Тимчасові дані прийнято вводити за допомогою інтерактивного календаря. Зокрема, це datapicker від jQuery, що дозволяє вводити дату і/або час безпосередньо в середовищі браузера на сторінці сайту.
Datapicker і йому подібні розробки виконані не тільки повністю. Вони також надають можливість настроюється локалізації як формату дати/часу, так і назв місяців, днів тижня, символів поділу елементів дати та часу. Розробник може виконати на PHP date to timestamp для перевірки, порівняння, виконання арифметичних операцій. При цьому дані, введені користувачем (відвідувачем) - це не функція PHP timestamp, призначення якої полягає в іншому. Однак саме ця специфіка функцій РНР дозволяє розробнику контролювати введення даних про часу і дати користувачем.