我需要在日期时间戳中添加以强格式存储的时间(格式:hh:mm),之前没有时间信息(例如2018-06-12 00:00:00)。怎么做?
我想这样做:
$startTime = "11:45";
$startDate = 1528754400; // 2018-06-12 00:00:00
$startDate = $startDate + $startTime; //2018-06-12 11:45:00
答案 0 :(得分:0)
您可以做一些简单的数学运算然后到那里。 60分钟乘以3600分钟,小时/分钟所用的秒数。
$startTime = "11:45";
$startDate = 1528754400;
$time = explode(':', $startTime);
$minutes = $time[1] * 60;
$hours = $time[0] * 3600;
然后将其拼凑在一起。 (时间戳记是自1970年以来的秒数,因此只需加上秒数即可)
$startDate + $minutes + $hours
另一种方法是使用datetime类。
$startTime = "11:45";
list($hours, $minutes) = explode(':', $startTime);
$date = new DateTime(date('Y-m-d', 1528754400));
$date->add(new DateInterval('PT' . $hours .'H' . $minutes . 'M'));
答案 1 :(得分:0)
使用strtotime
碰到了这一点:
$startTime = "11:45";
$startDate = 1528754400; // 2018-06-12 00:00:00
$startTimeTmp = explode(":",$startTime);
$finalTimestamp = strtotime("+".$startTimeTmp[0]." hours ".$startTimeTmp[1]." minutes", $startDate);