我試圖從我的MySQL數據庫中顯示我的日期字段。PHP的月數值
格式爲2012-01-01至2012-01-31
是否有顯示一月份爲0而不是1的方法嗎?
我用的strtotime改變其格式
date('Y, n, j',strtotime($s['date']))
但這表明
2012, 1, 1
我想顯示這是
2012, 0, 1
我試圖從我的MySQL數據庫中顯示我的日期字段。PHP的月數值
格式爲2012-01-01至2012-01-31
是否有顯示一月份爲0而不是1的方法嗎?
我用的strtotime改變其格式
date('Y, n, j',strtotime($s['date']))
但這表明
2012, 1, 1
我想顯示這是
2012, 0, 1
你總是可以這樣做:
$time = strtotime($s['date']);
$str = date('Y, ', $time);
$str .= intval(date('n', $time)) - 1;
$str .= date(', j', $time);
不知道這是最好的/唯一的方式,但它應該工作。
編輯:davidethell的要點,代碼相應地改變。 +1的評論。
如果你願意,你可以在SQL做到這一點:
SELECT MONTH(my_date_col) - 1 AS custom_month_col;
否則我同意@Ynhockey
編輯(見註釋):
SELECT CONCAT(YEAR('2012-03-08'),'-', (MONTH('2012-03-08') - 1), '-', DAY('2012-03-08')) AS custom_month_col;
這一個只顯示月零..你可以顯示它將如何顯示爲2012-0-1? – 2012-03-08 09:22:08
或者你可以使用getdate()
代替date()
以數組的形式返回日期,然後連接所需的值,例如。
<?php
$date = getDate(strtotime($s['date']));
echo $date['year'].', '.($date['mon']-1).', '.$date['mday'];
?>
如果你只需要一個月的輸出,這個工作對我來說:
$month = intval(date('n',strtotime($result["Date"]))) - 1;
$結果[ 「日」]是從MySQL傳遞的值怎麼叫。
如果您只是將時間戳寫入變量(例如$ timeString),然後在每個連續行中使用該變量,您將獲得更好的性能。除此之外,+1。 – davidethell 2012-03-08 09:24:47