What are some best practices for implementing time-based operations in PHP with MySQL databases?

When implementing time-based operations in PHP with MySQL databases, it is important to store dates and times in the correct format and handle time zones properly. One best practice is to use the DATETIME data type in MySQL to store timestamp values. Additionally, always set the correct time zone in both PHP and MySQL to ensure consistent handling of date and time operations.

// Set the default time zone in PHP
date_default_timezone_set('America/New_York');

// Connect to MySQL database
$mysqli = new mysqli('localhost', 'username', 'password', 'database');

// Set the time zone in MySQL
$mysqli->query("SET time_zone = 'America/New_York'");

// Insert current date and time into MySQL database
$currentDateTime = date('Y-m-d H:i:s');
$mysqli->query("INSERT INTO table_name (timestamp_column) VALUES ('$currentDateTime')");

// Retrieve records based on a specific date range
$startDate = '2022-01-01';
$endDate = '2022-12-31';
$result = $mysqli->query("SELECT * FROM table_name WHERE timestamp_column BETWEEN '$startDate' AND '$endDate'");