2016-08-11 56 views
1

我正在使用WooCommerce預訂插件,我需要掛鉤到預訂中,獲取開始日期並將其作爲UNIX時間戳格式導入到數據庫中。嘗試添加WooCommerce預約開始日期以寫入數據庫

這是我使用的嘗試並獲得起始日期代碼:

$wcBooking = new WC_Booking($original_order_id); 
$current_timestamp = strtotime($wcBooking->get_start_date()); 

我試圖讓使用WC_Booking類的話,我已經貼這個類在這裏http://pastebin.com/JGjDKyrj

當這代碼運行時,它只是把下面的數據庫:

1970-01-01 00:00:00

在此先感謝您的幫助。

+0

echo this'$ wcBooking-> get_start_date()',這樣你就可以看到你實際從那個調用中得到了什麼。它可能不是你期望的那樣 – RiggsFolly

+0

爲什麼不讀取'get_start_date()'的代碼這個問題顯然是明顯的 – RiggsFolly

+0

我在另一個插件中添加了這個代碼作爲函數,不幸的是它不是簡單地回顯它的情況 – AppleTattooGuy

回答

0

您需要格式化爲MySQL日期格式,如果列是DATETIME類型,則MYSQL預計爲YYYY-MM-DD hh:mm:ss格式,用於四位數年份,兩位數月份和日期以及小時和分鐘和秒。當它沒有收到時,它會用你描述的UNIX紀元時間代替。

一號線的變化,在那裏你在正確的日期格式從UNIX時間格式化:

$current_timestamp = date('Y-m-d H:i:s', strtotime($wcBooking->get_start_date()));

您也可以設定日期/時間參數get_start_date(),如:

$current_timestamp = $wcBooking->get_start_date('Y-m-d', 'H:i:s');

+0

謝謝,它現在進入數據庫爲1970-01-01 00:32:50 – AppleTattooGuy

+0

關於pastebin中的班級,它說 – AppleTattooGuy

+0

/** \t *退貨預訂結束日期 \t * @返回字符串通過date_i18n格式化的日期 \t */ – AppleTattooGuy

1

了它下面的代碼工作:

$wcBooking = new WC_Booking($original_order_id); 
      $dataString = $wcBooking->get_start_date('Y-m-d', 'H:i:s'); 
      $current_timestamp = strtotime($dataString); 
相關問題