PHP 转换snmp的时间格式

function convert_snmp_timeticks($timeticks) {
    if(!is_numeric($timeticks)) {
        return FALSE;
    }
    
    //如果是字符串类型,则先进行转换
    if(is_string($timeticks)) {
        $timeticks = intval($timeticks);
    }
    
    $TICKS_PER_SECOND = 100;
    $TICKS_PER_MINUTE = $TICKS_PER_SECOND * 60;
    $TICKS_PER_HOUR   = $TICKS_PER_MINUTE * 60;
    $TICKS_PER_DAY    = $TICKS_PER_HOUR * 24;
    
    $seconds = $timeticks / $TICKS_PER_SECOND % 60;
    $minutes = $timeticks / $TICKS_PER_MINUTE % 60;
    $hours   = $timeticks / $TICKS_PER_HOUR   % 24;
    $days    = $timeticks / $TICKS_PER_DAY;
    
    return sprintf("%d天, %d小时%02d分%02d秒", $days, $hours, $minutes, $seconds);
}

echo convert_snmp_timeticks("81090200");

输出:
    9天, 9小时15分02秒

 

 

更简单的方式,使用php官网的例子

if(@ $sysUpTime = snmpget("127.0.0.1", "public", "iso.3.6.1.2.1.1.3.0")){
    if(snmp_get_quick_print()){
       sscanf($sysUpTime, "%d:%d:%d:%d.%d",$day,$hour,$minute,$sec,$ticks);
        $sysUpTime = "$day days, $hour:$minute:$sec.$ticks";
    }else{
       $sysUpTime = ereg_replace("Timeticks: \([0-9]+\) ","",$sysUpTime);
   }
}
var_dump($sysUpTime);

输出:

    string(18) "9 days, 9:28:37.00"

 

转载于:https://www.cnblogs.com/Jim-william/p/5077721.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值