为了账号安全,请及时绑定邮箱和手机立即绑定

YYYYMMDD 轉時間戳,如何正確的比對時間?

YYYYMMDD 轉時間戳,如何正確的比對時間?

PHP
凤凰求蛊 2018-07-22 13:43:29
我有設定兩個欄位一個是 start 一個是 end格式是用 jquery 的 datepicker所以會是 2018-01-01 格式只是現在我要做一個比對我是用一個 電商優惠券 的概念所以要使用時輸入優惠碼因此檢查優惠碼的開始時間結束時間跟今天是否吻合如果今天的時間已經低於開始時間,那就不可用,表示優惠碼失效假設今天的時間是高於開始時間,且低於結束時間,那就可以使用只是我送入數據庫的時候會是字串 ( 2018-01-01)這樣如果我要做到以上的比對我應該把它轉成時間戳好,還是字串日期的做法最好?我想到如果轉成時間戳,我要怎麼比對?如果是轉成日期,假設今天是 2018-07-25,但是到期日是 2018-07-26,還可以用,那我要怎麼往上往下比對?不是數字所以沒辦法用大於小於補充:我發現即使「結束時間」還沒有到,他還是報錯耶?  "SELECT * FROM `discount`       WHERE         `code` = '{$cart_code}'       AND         `end` <= '".time()."' "
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

强烈推荐时间戳,因为时间戳是数字类型的存储本身会比字符串就快,而且数字的比对也比字符串容易
你可以用strtotime将字符串时间类型转成时间戳 然后比较他们的大小 
如果当前时间小于开始时间或者当前时间大于结束时间,那么优惠券不可用
如果当前时间在开始时间和结束时间之间,就是可用

查看完整回答
反对 回复 2018-07-29
?
慕标5832272

TA贡献1966条经验 获得超4个赞

转成时间戳

sql:select * from xx where start >= time and end <= time;


查看完整回答
反对 回复 2018-07-29
  • 2 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信