[英]format date and add or subtract number of days in date coming from mysql using php
我正在使用mysql和php,目前我的數據庫中有日期和時間,但是當我使用sql獲取日期時,無論什么日期,我都會繼續獲取1970-01-01,但是如果我嘗試添加運氣的話! 誰能指導我
$startDate = $result['startDate'];
$date=date('Y-m-d',$startDate);
echo $date;
它應該類似於01-07-2011。 但是我也沒有嘗試過strtotime()。 但是它沒有幫助。 誰能幫我 。
$date = strtotime(date("Y-m-d", strtotime($startDate)) . " +1 day");
echo $date;
答案應該是2011-07-02,但應該是1970-01-02
提前致謝
MySQL默認以“ yyyy-mm-dd hh:mm:ss”字符串返回其日期。 您可能將此字符串直接傳遞到PHP中的date()
中,這是不正確的。 date()需要時間戳(自1970年1月1日以來的秒數)。 由於您傳遞的日期無效,因此默認為時間戳0,也就是1970年1月。
您可以使用SELECT UNIX_TIMESTAMP(yourdatefield)
強制MySQL返回適合PHP使用的時間戳。 但是,請記住,MySQL完全能夠在查詢中執行日期數學運算。
只要$ result ['startDate']是日期類型列,並且您使用的PHP版本大於5.0.2,就在尋找:
$startDate = $result['startDate'];
$date=date('Y-m-d',strtotime($startDate. ' +1 day'));
echo $date;
如果startDate
是datetime
類型,並且要在php上使用date
函數,則需要將查詢更改為:
SELECT UNIX_TIMESTAMP(startDate) as startDate .....
如果$result['startDate']
是MySQL日期(或DateTime),則可以使用以下命令:
$startDate = $result['startDate'];
$date=date('Y-m-d',strtotime('+1 day', $startDate));
echo $date;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.