我正在创建前 30 名音乐排行榜。
如何获得两个 mysql 格式化日期时间之间的周数?像
从:2013-01-15 11:41:14
当前日期时间:2013-02-25 13:41:14
使用 SQL 更好,但在 php 中会是这样的:
<?php
$datetime1 = new DateTime('2013-01-15 11:41:14');
$datetime2 = new DateTime('2013-02-25 13:41:14');
$interval = $datetime1->diff($datetime2);
$diff = $interval->format('%d');
echo (int)$diff/7;
您可以使用strtotime()
方法,然后计算当前时间与 MySQL 数据库中的时间之间的差异。
减去使用时间strtotime
$difference = strtotime($first_date)-strtotime($second_date);
$weeks = round($difference / 604800 );
<?php
$db_time_a = strtotime('2013-01-15 11:41:14');
$db_time_b = strtotime('2013-02-25 13:41:14');
$seconds_in_between = $db_time_a - $db_time_b;
$hours = (int)($seconds_in_between/60/60);
$minutes = (int)($seconds_in_between/60)-$hours*60;
$seconds = (int)$seconds_in_between-$hours*60*60-$minutes*60;
echo 'The time in seconds in between the two times is: '.$seconds_in_between.' (Hours:'.$hours.', Minutes:'.$minutes.', Seconds:'.$seconds.')';
?>
您可以使用“剩余”将秒数分块并找出分钟(以及剩余的秒数)等等,直到达到您想要的时间距离。
该WEEK()
功能对您的查询有帮助吗?
我不太了解 Mysql,但让我们假设以下内容:
select WEEK(date1-date2) from mytable where name='Ken';
在 mysql 中尝试 DATEDIFF(date1, date2) 函数。DATEDIFF() 将返回两个给定日期之间的日期编号。希望您可以轻松地从输出中获得周数。