MySQL使用PHP转换日期格式
在MySQL中,日期和时间是常见的数据类型,而日期和时间的格式化定义方式也有多种方式,其中最常用的是MySQL datetime类型的格式。在MySQL中,我们可以使用PHP来将datetime格式转换为其他格式。
阅读更多:MySQL 教程
转换为不同的日期格式
要在PHP中将MySQL datetime转换为不同的日期格式,可以使用PHP的内置函数date()。date()函数需要两个参数:格式和时间戳。时间戳是从1970年1月1日开始的秒数,可以使用PHP的strtotime()函数将datetime转换为时间戳。
下面是一个例子,将MySQL datetime格式转换为年-月-日格式:
$datetime = '2020-05-20 12:30:45'; // MySQL datetime格式
$timestamp = strtotime($datetime); // 将datetime转换为时间戳
$date = date('Y-m-d', $timestamp); // 将时间戳转换为年-月-日格式
echo $date; // 输出结果为:2020-05-20
转换为不同的时间格式
类似于日期格式,我们也可以使用date()函数将MySQL datetime转换为不同的时间格式。
下面是一个例子,将MySQL datetime格式转换为时:分:秒格式:
$datetime = '2020-05-20 12:30:45'; // MySQL datetime格式
$timestamp = strtotime($datetime); // 将datetime转换为时间戳
$time = date('H:i:s', $timestamp); // 将时间戳转换为时:分:秒格式
echo $time; // 输出结果为:12:30:45
转换为人类可读的格式
有时,我们需要将MySQL datetime格式转换为人类可读的格式,例如“刚刚”、“1分钟前”、“1小时前”等。可以使用PHP时间戳和时间函数来实现。
下面是一个例子,将MySQL datetime格式转换为人类可读的格式:
$datetime = '2020-05-20 12:30:45'; // MySQL datetime格式
$timestamp = strtotime($datetime); // 将datetime转换为时间戳
$diff = time() - $timestamp; // 计算时间差
if ($diff < 60) {
// 小于1分钟
echo '刚刚';
} else if ($diff < 3600) {
// 小于1小时
echo floor($diff/60) . '分钟前';
} else if ($diff < 86400) {
// 小于1天
echo floor($diff/3600) . '小时前';
} else {
// 大于1天
echo floor($diff/86400) . '天前';
}
总结
在MySQL中,datetime是常用的日期和时间格式,而在PHP中,我们可以使用date()函数和strtotime()函数来将datetime格式转换为其他格式。另外,也可以使用PHP的时间戳和时间函数来将datetime格式转换为人类可读的格式。
极客教程