Php 使用am和pm将时间转换为小时和分钟
目前,我有如下数据。但是,它不是一个时间戳值。那是一个时代本身Php 使用am和pm将时间转换为小时和分钟,php,Php,目前,我有如下数据。但是,它不是一个时间戳值。那是一个时代本身 $start_time = '150630'; $end_time = '180630'; 我想更改格式,如我尝试的03:06 PM–06:06 PM $init = 150630; $hours = floor($init / 3600); $minutes = floor(($init / 60) % 60); $seconds = $init % 60; echo "$hours:$minutes:$seconds";
$start_time = '150630';
$end_time = '180630';
我想更改格式,如我尝试的03:06 PM–06:06 PM
$init = 150630;
$hours = floor($init / 3600);
$minutes = floor(($init / 60) % 60);
$seconds = $init % 60;
echo "$hours:$minutes:$seconds";
但格式和值与预期不符。
请帮助我如何解决这个问题使用Php日期和
strotime—将任何英文文本datetime描述解析为Unix时间戳。
并将其转换为
echo $start_time = date('h:i:a' , strtotime(150630));
//o/p 03:06:pm
您不需要时间转换器,因为您的字符串不是有效的时间戳。取而代之的是时间本身。您只需提取
小时
、分钟
和秒
请参阅下文
<?php
$start_time = "150630";
$hours = substr($start_time, 0, 2); // this is actual hours
$mins = substr($start_time, 2, 2); // this is actual minutes
$secs = substr($start_time, 4, 2); // this is actual seconds
if ($hours < 12) {
$actTime = "$hours:$mins:$secs AM";
} else {
$actTime = ($hours-12).":$mins:$secs PM";
}
echo $actTime; // this is the time format you want
您可以使用stru split
函数,因为您的时间格式不是时间戳
它将提取小时
、分钟
和秒
检查以下代码:
<?php
$start_time = '150630';
$end_time = '180630';
$startTimeA = str_split($start_time, 2);
$endTimeA = str_split($end_time, 2);
$startTime = "";
$AmOrPm = "AM";
if ($startTimeA[0] > 12) {
$startTime .= (int) ($startTimeA[0] - 12);
$AmOrPm = "PM";
}
echo $startTime .= ":" . $startTimeA[1] . " " . $AmOrPm;
$endTime = "";
$AmOrPm = "AM";
if ($endTimeA[0] > 12) {
$endTime .= (int) ($endTimeA[0] - 12);
$AmOrPm = "PM";
}
echo $endTime .= ":" . $endTimeA[1] . " " . $AmOrPm;
?>
我想你甚至不明白你的开始时间和结束时间format@Kasnady-对不起,如果我做错了什么。请更正我的最新答案。这是我的荣幸。@traker你确定结果与你预期的一样吗?@rahushrivastava me。。我投了反对票,这导致结果与问题的预期不符当时间是00:30:00 AM
时,它没有给出正确的结果,请检查它给出03:36:00 pm
谢谢你的回答..谢谢亲爱的,它也在工作。完美