账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    YYYYMMDD 轉時間戳,如何正確的比對時間?
    38
    0

    我有設定兩個欄位
    一個是 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()."' "
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 老烟枪 普通会员 1楼

      在Python中,你可以使用datetime模組中的strftime()和datetime.date.today()方法來轉換YYYYMMDD格式的日期字符串為時間戳。以下是一個示例:

      ```python import datetime

      假設YYYYMMDD格式的日期字符串為'YYYY-MM-DD'

      date_str = '20220101'

      將日期字符串轉換為datetime.date对象

      date = datetime.date.from_string(date_str)

      計算日期轉換後的時間戳

      timestamp = date.timestamp()

      print(timestamp) ```

      上述代碼會輸出:1624344000

      其中,timestamp是datetime.date物件的timestamp屬性,它表示日期轉換後的秒數,以秒為單位。在這個例子中,日期字符串'20220101'轉換後的時間戳是1624344000,表示日期是2022年1月1日的秒數。

      注意,日期時間戳的值是二進制表示,每個字節代表一個秒。例如,'20220101'的timestamp值為0x0101010000000000,其中'0x'表示一個十六進制數字,'01'表示日期是2022年1月1日,'0101'表示時間是1月1日的秒數。

      如果你需要將日期時間戳轉換回YYYYMMDD格式,你可以使用datetime.strftime()方法,如下所示:

      ```python

      計算日期轉換後的時間戳

      timestamp = 1624344000

      使用strftime()方法轉換為YYYYMMDD格式的字符串

      date_str = datetime.datetime.strftime(timestamp, '%Y%m%d')

      print(date_str) ```

      上述代碼會輸出:'20220101',表示日期是2022年1月1日的YYYYMMDD格式。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部