我正在尝试将1.3转换为1:30,但是当我使用带有日期功能的strtotime时,1.3变为1.03! 什么是解决方案?
这就是我正在使用的并给我意想不到的结果:
<?php $time_from = 1.3; ?>
<?= date('h:i A', strtotime($time_from)); ?>
print_r或$ opening_hours_array:
阵列( [sunday_from] =&gt; 24.45 [sunday_to] =&gt; 1.3 [monday_from] =&gt; 2 [monday_to] =&gt; 2.15 [tuesday_from] =&gt; 3 [tuesday_to] =&gt; 3.15 [wednesday_from] =&gt; 4 [wednesday_to] =&gt; 4.15 [thursday_from] =&gt;五 [thursday_to] =&gt; 5.15 [friday_from] =&gt; 6 [friday_to] =&gt; 6.15 [saturday_from] =&gt; 7 [saturday_to] =&gt; 1)
我想要做的就是向我们展示我们的开放:
<?php
$days_of_week = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
for ($index = 0; $index < count($days_of_week); $index++) {
$pos = strpos($opening_hours_array[strtolower($days_of_week[$index]) . '_from'], '.');
if ($pos === false) {
$time_from = $opening_hours_array[strtolower($days_of_week[$index]) . '_from'].'.00';
}else{
$time_from = $opening_hours_array[strtolower($days_of_week[$index]) . '_from'];
}
$pos = strpos($opening_hours_array[strtolower($days_of_week[$index]) . '_to'], '.');
if ($pos === false) {
$time_to = $opening_hours_array[strtolower($days_of_week[$index]) . '_to'].'.00';
}else{
$time_to = $opening_hours_array[strtolower($days_of_week[$index]) . '_to'];
}
}
?>
答案 0 :(得分:1)
正如@Goikiu所建议的那样,下面的代码可以解决这个问题
$time_from = 1.3;
$time_from = (strlen($time_from)==3)?$time_from.'0':$time_from;
echo date('h:i A', strtotime($time_from));
But there are other situations like
$time_from = 1 ;
The code needs to check for those as well.
答案 1 :(得分:0)
解决方案是:
$pos = strpos($opening_hours_array[strtolower($days_of_week[$index]) . '_from'], '.');
if ($pos === false) {
$time_from = $opening_hours_array[strtolower($days_of_week[$index]) . '_from'].'.00';
}else{
$time_from = $opening_hours_array[strtolower($days_of_week[$index]) . '_from'];
$time_from = (strlen($time_from)==3)?$time_from.'0':$time_from;
}
$pos = strpos($opening_hours_array[strtolower($days_of_week[$index]) . '_to'], '.');
if ($pos === false) {
$time_to = $opening_hours_array[strtolower($days_of_week[$index]) . '_to'].'.00';
}else{
$time_to = $opening_hours_array[strtolower($days_of_week[$index]) . '_to'];
$time_to = (strlen($time_to)==3)?$time_to.'0':$time_to;
}