2010-04-29 93 views
0

假設我在mysql數據庫中有一列是上次聲明的一個設備在h:i:s格式(例如:00:05:11)或1d21h中,表示設備是自從5分鐘前,什麼是最好的方法,我可以將其轉換爲Unix的時間戳,說如果使用PHP腳本如何?或使用mysql函數查詢直接轉換最後的unix時間戳。從上次生成unix時間戳

實際上,我想計算這個設備在UNIX時間戳的運行時間的開始時間,其中我有一個列在mysql startcapture,將與最後一列扣除以獲得開始時間。所以starttime = startcapture - last(最後一次必須根據now() - h:i:s)轉換爲unix時間戳。但問題有時是從h:i:s到ex:1d22h的格式變化,如果h:i:s表示設備已啓動,因爲ex:00:05:11分鐘前,如果1d22h表示設備已經運行1天22小時前。

所以這裏主要的東西是將最後一列轉換爲適當的unix時間戳。

請幫助球員,儘快。

更新:

簡化這個樣子,

我想要顯示的開始時間,即只能用最後一列扣除startcapture列計算,

在Unix時間戳startcapture列,而h:i:s格式中的最後一列有時爲1d22h格式(表示設備已經從1天22小時或00:05:11開始,小時分秒)

我想要的唯一的東西是轉換最後一列到時間() - (00:05:11或1d22h),

是否有任何特定的功能?

+0

爲什麼你從現在保存相對時間在數據庫中?如果因爲某種原因突然間因時間而決定繼續前進,會發生什麼? – 2010-04-29 08:44:08

+0

另外,您的描述非常詳細,但有點難以理解。你能用實際數字做一個具體的例子嗎? – 2010-04-29 08:49:08

+0

所有數據都從路由器中抓取,腳本是由我的同事編寫的,管理員希望儘快報告,所以我想不出任何其他解決方案... – Nazmin 2010-04-29 09:23:43

回答