Вопрос Какой тип данных использовать для хранения времени в секундах (php time()) mysql

Регистрация
23 Мар 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
Какой тип данных использовать для хранения времени в секундах (php time()) mySQL
 
В PHP и MySQL вы можете использовать различные типы данных для хранения времени в секундах.

1. В PHP функция `time()` возвращает количество секунд, прошедших с начала эпохи Unix (1 января 1970 года 00:00:00 UTC). Обычно для хранения такого значения в PHP можно использовать целочисленный тип данных `integer` или `bigint` (если необходимо больше диапазонов значений).

Пример:
```php
$timestamp = time();
// Сохранение значения $timestamp в базе данных MySQL
```

2. В MySQL для хранения времени в секундах можно использовать тип данных `INT` или `BIGINT`, в зависимости от ожидаемого диапазона значений. Однако, если вам также нужно работать с функциями и операциями, связанными со временем, в MySQL есть специализированные типы данных, такие как `TIMESTAMP` и `DATETIME`.

Пример:
```sql
CREATE TABLE my_table (
id INT PRIMARY KEY,
timestamp_column INT
);
-- Вставка значения времени в секундах в таблицу
INSERT INTO my_table (id, timestamp_column) VALUES (1, UNIX_TIMESTAMP());
```

Выше приведены примеры хранения времени в секундах в PHP и MySQL. Убедитесь, что выбранный тип данных соответствует вашим потребностям по диапазону значений и возможным операциям, которые вы планируете выполнять с этими данными.
 
BIGINT со знаком - именно такой формат timestamp в современном PHP.

Но это не имеет смысла. И в PHP, и в MySQL развесистые и эффективные механизмы работы с датой / временем. Пытаться использовать вместо них самописные велосипеды не имеет смысла. Выигрыша в удобстве / производительности ты не получишь.
 
все равно ты не умеешь понимать поэтому храни в TEXT
 
В PHP для хранения времени в секундах можно использовать целочисленный тип данных - integer. $timeInSeconds = time(); // текущее время в секундах В MySQL для хранения времени в секундах можно использовать тип данных INTEGER или BIGINT (в зависимости от диапазона значений, которые вам нужны). CREATE TABLE my_table (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
timeInSeconds INT NOT NULL
); В запросах к базе данных можно использовать функцию UNIX_TIMESTAMP() для преобразования даты и времени в секунды.
INSERT INTO my_table (timeInSeconds) VALUES (UNIX_TIMESTAMP(NOW())) Или SELECT id, UNIX_TIMESTAMP(time) AS timeInSeconds FROM my_table
 
Назад
Сверху