:::
tad - 程式開發筆記 | 2011-04-01 | 人氣:14313

Tad Book 3 有個最新文章的區塊,其中有個設定欄位是要設定秀出 N 天內的文章。當我把這區塊裝上後,發現這個設定功能沒有作用,於是重寫了一下,但過程並不順利,原因在於PHP及MySQL的時間戳記長的並不一樣。

在資料表中,「文章最後修改日期」我是用PHP的時間戳記格式來存到資料庫中的,如此,用PHP讀出寫入並不會有多大問題,但一旦要用MySQL函數來操作它,問題就出現了,因為PHP的時間戳記格式MySQL看不懂。

怎麼辦呢?用 MySQL 的 FROM_UNIXTIME() 來轉換即可。整個SQL語法如下(列出7天內的資料):

select * from XX資料表  where TO_DAYS(NOW()) - TO_DAYS( FROM_UNIXTIME(`日期欄位`)) <= 7

  • TO_DAYS() 是MySQL用來計算從 0000-00-00 起到您指定的日期,中間過了多少天。
  • NOW() 則是指今天的日期。
  • FROM_UNIXTIME() 則是將PHP的時間戳記(UNIX 的時間戳記),轉換為MySQL看得懂的時間戳記格式...

TO_DAYS(NOW()) 就是從 0000-00-00 起到今天為止的日數。

TO_DAYS( FROM_UNIXTIME(`日期欄位`)) 就是從 0000-00-00 起到指定日期為止的日數。

TO_DAYS(NOW()) - TO_DAYS( FROM_UNIXTIME(`日期欄位`)) 會得到今天到指定日期之間的天數

網友個人意見,不代表本站立場,對於發言內容,由發表者自負責任。
:::

訂閱 / 取消電子報

目前訂閱人數: 955 人

線上使用者

10人線上 (2人在瀏覽最新消息)

會員: 0

訪客: 10

更多…

網站佈景


(共 5 個樣板佈景)