2010-04-29 89 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

回答