我有一个存储在变量中的日期值。我需要将值的时间部分提取到单独的变量中,然后从中添加/减去时间。
日期变量设置为日期('YmdHis'),给出(例如)20110805124000 2011年8月5日,12:40:00
从值20110805124000(存储在变量$ fulltime中),我需要以12:40的格式存储时间(因此忽略年,月,日和秒并在小时和时间之间添加冒号)分钟)在一个名为$ shorttime的变量中。然后我需要在那个时间添加一些小时(例如+3小时会将$ shorttime变量中的值更改为15:40)。我需要添加的小时数存储在名为$ addtime的变量中,该值可能是负数。
这很容易实现吗?有人可以帮忙吗?
谢谢:)
答案 0 :(得分:60)
$time = '2013-01-22 10:45:45';
echo $time = date("H:i:s",strtotime($time));
它会从datetime给出时间10:45:45
。
答案 1 :(得分:5)
<?PHP
$addhours = 3;
$date = DateTime::createFromFormat('YmdHis', '20110805124000');
$shorttime = $date->format("H:i");
$newdate = $date->add(DateInterval::createFromDateString($addhours . "hours"));
$newtime = $newdate->format("H:i");
echo $shorttime . "<br />";
echo $newtime . "<br />";
?>
供您参考:
http://www.php.net/manual/en/datetime.createfromformat.php
http://www.php.net/manual/en/dateinterval.createfromdatestring.php
答案 2 :(得分:0)
您好,我通常的做法是这样,也许有点长,但是对我有用...
$DateIn = new DateTime($In);
$DateOut = new DateTime($Out);
$HourOut = new DateTime($H_Out);
$FechaEntrada = $DateIn->format('d-m-Y');
$FechaSalida = $DateOut->format('d-m-Y');
$HoraSalida = $HourOut->format('H:i a');
我使用的指南是PHP DateTime::format()
答案 3 :(得分:-8)
对于PHP&lt; 5.0解决方案:
<?php
$fulltime = '20110805124000';
$addtime = -5;
$time = substr($fulltime,8,2).":".substr($fulltime,10,2);
$time = date("H:i",strtotime($time) + ($addtime*3600));
echo $time;
?>