试图让周数字段过时

时间:2010-08-28 12:44:20

标签: cakephp date

对于给定的日期字段(在sql格式为:yyyy-mm-dd),我想将其输出为周数。

我尝试使用date(),但这并没有真正解决。

SQL字段:YYYY-MM-DD

期望的输出:第12周 - 2010年

有谁知道怎么做?提前谢谢!!

4 个答案:

答案 0 :(得分:1)

如果您想在MySQL中执行此操作,可以使用WEEK()函数:

SELECT WEEK(date) as week, YEAR(date) as year FROM mytable

注意,您可能需要指定WEEK()的模式编号,以告知MySQL哪一天开始。例如。某些服务器可能配置为在星期一开始几周,而其他服务器可能在星期日开始。

SELECT WEEK(date, 0) as week ... /* explicitly start weeks on Sundays */

您还可以查看其他可以查看的周数函数,例如YEARWEEK(),它返回年份+周数(例如201012):

http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_week

答案 1 :(得分:0)

试试这个:

$bits = explode("-", "2010-08-28");
echo date("W", mktime(0, 0, 0, $bits[1], $bits[2], $bits[0]));

答案 2 :(得分:0)

在PHP中你可以试试这个:

echo date("\Week W - Y", date_parse($sql_date_from_db))

答案 3 :(得分:0)

使用strtotimedate

<?php
$sqldate = "2010/08/28";

echo date("\W\e\e\k W - Y", strtotime($sqldate));
?>