用经络把时间分成小时和分钟

Splitting the time into hours and minutes with meridians

因为在 html 的表单中有一个输入类型时间。然后它显示 24 小时制或军事时间。那么24小时制应该如何用经络(AM和PM)转换成12小时制呢?以及如何将输入类型的时间拆分为带经络(AM 和 PM)的小时和分钟?

这是DEMO

使用Javascript可以做到..

 var dt = new Date();
    var h=dt.getHours();
    var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
    alert(time);
    if(h<12)
    {alert(time+":AM");
    }else
    {
        alert(time+":PM");}
$format_timestamp=date("h:i A", strtotime($_POST['my_input'])); 

echo $format_timestamp;

$_POST['my_input'] 是您从用户那里获取的输入值。

$time = '19:24:00'; //input of user
 $yourtime =  date('h:i a', strtotime($time)); //convert to 12 hours
preg_match("/([0-9]{1,2}):([0-9]{1,2}) ([a-zA-Z]+)/", $yourtime, $match); // split the hour and min and am/pm 
$hour = $match[1];
$min = $match[2];
$ampm = $match[3];

print_r($hour.':'.$min.':'.$ampm); //output

对于服务器端时间,您可以使用下面的 PHP 代码。

<?php
    echo $time = date("h:i A");
?>

对于客户端时间,您可以使用 javascript 如下代码

<script>
var dt = new Date();
var h=dt.getHours();
var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();

if(h<12)
{
   alert(time+":AM");
}
else
{
   alert(time+":PM");
}

两种解决方案根据需要给出不同的时间。