對於給定的日期字段(在sql中格式爲:yyyy-mm-dd),我想輸出它作爲週數。試圖讓週數過期字段
我試圖使用date(),但沒有真正解決。
SQL領域:YYYY-MM-DD
所需的輸出:第12周 - 2010
有誰知道如何做到這一點?提前致謝!!
對於給定的日期字段(在sql中格式爲:yyyy-mm-dd),我想輸出它作爲週數。試圖讓週數過期字段
我試圖使用date(),但沒有真正解決。
SQL領域:YYYY-MM-DD
所需的輸出:第12周 - 2010
有誰知道如何做到這一點?提前致謝!!
<?php
$sqldate = "2010/08/28";
echo date("\W\e\e\k W - Y", strtotime($sqldate));
?>
thx!這很容易,我無法抗拒。我忘了把strtotime()放在我自己的日期實驗中。謝謝! – 2010-08-28 15:27:04
不客氣。 – shamittomar 2010-08-28 15:28:51
如果你只想做在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 */
還有其他的週數函數的MySQL,你可能想看看,如YEARWEEK()
,返回年+週數(如201012):
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_week
thx爲你的答案!另一個選項雖然沒有改變sql查詢更容易一些。 – 2010-08-28 15:29:18
嘗試這樣的:
$bits = explode("-", "2010-08-28");
echo date("W", mktime(0, 0, 0, $bits[1], $bits[2], $bits[0]));
在PHP中,你可以試試這個:
echo date("\Week W - Y", date_parse($sql_date_from_db))
那你嘗試沒有成功? 'date()'完全是你想要的。 – 2010-08-28 12:47:06
是的,但不知何故(是的,我知道,我感到愚蠢)我不能得到W-Y的權利:) – 2010-08-30 08:47:33