2014-10-30 93 views
0

我將Stripe的開票結束期限保存到數據庫,並且默認情況下將其保存爲時期戳記1441292360。如何將它保存爲cancellation_date列的訂閱表中的YYYY-MM-DD?將時間戳記格式保存爲日期

訂閱模式:

belongs_to :plan 
    belongs_to :subscription 
    belongs_to :user 

    validates_presence_of :plan_id 
    validates_presence_of :email 

    def save_with_stripe_payment 
    customer = Stripe::Customer.create(description: email, plan: plan_id, card: stripe_card_token) 
    self.stripe_customer_token = customer.id 
    self.cancellation_date = customer.subscriptions.first.current_period_end 
    save! 
    rescue Stripe::InvalidRequestError => e 
    logger.error "Stripe error while creating customer: #{e.message}" 
    errors.add :base, "There was a problem with your credit card." 
    false 
    end 
+3

將其轉換爲字符串?但爲什麼?如果沒有別的,我會考慮將它保存爲時間戳或日期。 – 2014-10-30 18:38:02

+0

原始遷移將其作爲字符串'add_column:subscriptions,:cancellation_date,:string'。將它保存爲日期是我的問題,因爲如何將它保存爲日期。 – 2014-10-30 19:25:10

+0

不,你問你如何將它保存爲'YYYY-MM-DD',這不是日期,而是日期的具體表示。在任何情況下,穆罕默德的答案都是正確的:將其轉換爲他展示的日期。 – 2014-10-31 10:12:26

回答

1

如果您有UNIX時間,您可以在運行Time.at(unix_time_integer)轉換爲紅寶石Time對象。要轉換爲日期,您可以運行Time.at(unix_time_integer).to_date

相關問題