Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从正常运行时间获取日期_Php_Date_Datetime - Fatal编程技术网

PHP从正常运行时间获取日期

PHP从正常运行时间获取日期,php,date,datetime,Php,Date,Datetime,我想问问php 现在的日期是:10:10:10 18/08/2020 路由器正常运行时间为:1w1d11h1m1s 开启路由器的日期是什么时候?示例10:10:10 11/08/2020 需要具有格式日期的函数phpH:i:sd/m/Y 新编辑 添加示例函数: $uptime = "1w1d11h1m1s"; function turn_on($uptime) { $w = str_replace('w', ' weekdays', $uptime); $d = str_r

我想问问php

现在的日期是:
10:10:10 18/08/2020

路由器正常运行时间为:
1w1d11h1m1s

开启路由器的日期是什么时候?示例
10:10:10 11/08/2020

需要具有格式日期的函数php
H:i:sd/m/Y

新编辑 添加示例函数:

$uptime = "1w1d11h1m1s";

function turn_on($uptime)
{
$w = str_replace('w', ' weekdays', $uptime);
$d = str_replace('d', ' days', $uptime);
$h = str_replace('h', ' hours', $uptime);
$i = str_replace('m', ' minutes', $uptime);
$s = str_replace('s', ' seconds', $uptime);

echo 'date is' . ('H:i:s d/m/Y' ,strtotime(' - '. $w $d $h $i $s ));
}

感谢所有能帮助我的人

除非你能重新格式化$uptime,否则你需要先将其拆分,然后将其转换为时间戳并按你的喜好输出:-

public function turn_on($uptime)
{    
    $items = preg_split('/[^0-9]/i', $uptime);
 
    $timeStamp =  strtotime("- $items[0] week 
                             $items[1] days 
                             $items[2] hours 
                             $items[3] minutes 
                             $items[4] seconds");

    return date('H:i:s d/m/Y', $timeStamp);
}

这回答了你的问题吗?不一样,先生,我的输入格式XwXdXhXmXs到输出H:i:sd/m/y没有一个内置函数来解析路由器的间隔格式,您需要自己滚动。为此,您可能需要收集有关格式的一些信息,至少不止一个示例。编辑添加示例函数,路由器只是示例设备。hiks now vote-3您的函数看起来不错,但我们对格式了解不多。显示的代币是强制性的吗?是否还有其他问题,如月份或年份?我已编辑了我的答案,以允许-根据要求