在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數(shù)據(jù)庫  HTML/ YYYYMMDD 轉(zhuǎn)時(shí)間戳,如何正確的比對(duì)時(shí)間?

YYYYMMDD 轉(zhuǎn)時(shí)間戳,如何正確的比對(duì)時(shí)間?

我有設(shè)定兩個(gè)欄位
一個(gè)是 start 一個(gè)是 end
格式是用 jquery 的 datepicker
所以會(huì)是 2018-01-01 格式
只是現(xiàn)在我要做一個(gè)比對(duì)

我是用一個(gè) 電商優(yōu)惠券 的概念
所以要使用時(shí)輸入優(yōu)惠碼
因此檢查優(yōu)惠碼的開始時(shí)間結(jié)束時(shí)間跟今天是否吻合
如果今天的時(shí)間已經(jīng)低於開始時(shí)間,那就不可用,表示優(yōu)惠碼失效
假設(shè)今天的時(shí)間是高於開始時(shí)間,且低於結(jié)束時(shí)間,那就可以使用
只是我送入數(shù)據(jù)庫的時(shí)候會(huì)是字串 ( 2018-01-01)
這樣如果我要做到以上的比對(duì)
我應(yīng)該把它轉(zhuǎn)成時(shí)間戳好,還是字串日期的做法最好?
我想到如果轉(zhuǎn)成時(shí)間戳,我要怎麼比對(duì)?
如果是轉(zhuǎn)成日期,假設(shè)今天是 2018-07-25,但是到期日是 2018-07-26,還可以用,那我要怎麼往上往下比對(duì)?不是數(shù)字所以沒辦法用大於小於

補(bǔ)充:
我發(fā)現(xiàn)即使「結(jié)束時(shí)間」還沒有到,他還是報(bào)錯(cuò)耶?

  "SELECT * FROM `discount`
      WHERE
        `code` = '{$cart_code}'
      AND
        `end` <= '".time()."' "
回答
編輯回答
硬扛

強(qiáng)烈推薦時(shí)間戳,因?yàn)闀r(shí)間戳是數(shù)字類型的存儲(chǔ)本身會(huì)比字符串就快,而且數(shù)字的比對(duì)也比字符串容易
你可以用strtotime將字符串時(shí)間類型轉(zhuǎn)成時(shí)間戳 然后比較他們的大小
如果當(dāng)前時(shí)間小于開始時(shí)間或者當(dāng)前時(shí)間大于結(jié)束時(shí)間,那么優(yōu)惠券不可用
如果當(dāng)前時(shí)間在開始時(shí)間和結(jié)束時(shí)間之間,就是可用

2017年3月12日 05:01
編輯回答
兔寶寶

直接大小比較是可以的啊,字符串的大小比較是比較字符的ASCII碼,你這種格式完全可以采用?。?br>"2028-01-02" > "2018-01-02"
true
"2018-01-02" > "2018-02-02"
false
"2018-01-02" > "2018-01-03"
false
"2018-01-04" > "2018-01-03"
true

2017年6月30日 14:57
編輯回答
刮刮樂

直接比較就可以的

2018年5月13日 21:44
編輯回答
哚蕾咪

轉(zhuǎn)成時(shí)間戳

sql:select * from xx where start >= time and end <= time;
2017年7月21日 02:50