如何从 PHP 中的日期时间获取 AM/PM [重复]

Posted

技术标签:

【中文标题】如何从 PHP 中的日期时间获取 AM/PM [重复]【英文标题】:How to get AM/PM from a datetime in PHP [duplicate] 【发布时间】:2011-03-25 04:46:13 【问题描述】:

我在变量中有一个日期时间。我的格式是08/04/2010 22:15:00。我想像10.15 PM 一样显示这个。如何在 php 中做到这一点?

【问题讨论】:

类似:How to convert the time from AM/PM to 24 hour format in PHP? 【参考方案1】:

您需要将其转换为 UNIX 时间戳(使用 strtotime),然后使用 date 函数转换回您需要的格式。

例如:

$currentDateTime = '08/04/2010 22:15:00';
$newDateTime = date('h:i A', strtotime($currentDateTime));

【讨论】:

【参考方案2】:
$dateString = '08/04/2010 22:15:00';
$dateObject = new DateTime($dateString);
echo $dateObject->format('h:i A');

【讨论】:

【参考方案3】:

使用 strtotime() 将日期设为 UNIX 时间戳。

对于输出,查看date() 的各种选项。

$timestamp = strtotime("08/04/2010 22:15:00");
date("h.i A", $timestamp);

【讨论】:

不太确定日期调用中的大写“H”(奇怪的是上午/下午有 24 小时)。是的,我在狡辩,因为你已经打败了我。再次。 :-)【参考方案4】:
<?php 
$dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata')); 
echo $dateTime->format("d/m/y  H:i A"); 
?>

你可以用它来显示这样的日期

22/06/15 10:46 AM

【讨论】:

H:i A 应该是小写的 h【参考方案5】:

像这样:

$date = '08/04/2010 22:15:00';
echo date('h:i A', strtotime($date));

结果:

10:15 PM

更多信息:

date strtotime

【讨论】:

【参考方案6】:

对于不同格式的灵活性,请使用:

$dt = DateTime::createFromFormat('m/d/Y H:i:s', '08/04/2010 22:15:00');
echo $dt->format('g:i A')

查看php manual 了解其他格式选项。

【讨论】:

【参考方案7】:

PHP 代码:

date_default_timezone_set('Asia/Kolkata');
$currentDateTime=date('m/d/Y H:i:s');
$newDateTime = date('h:i A', strtotime($currentDateTime));
echo $newDateTime; 

输出:下午 05:03

【讨论】:

【参考方案8】:
$currentDateTime = $row['date'];
echo $newDateTime = date('l jS \of F Y h:i:s A', strtotime($currentDateTime));

【讨论】:

【参考方案9】:

对于(PHP >= 5.2.0):

您可以使用 DateTime 类。但是,您可能需要更改日期格式。没试过你的。 以下日期格式肯定会起作用:YYYY-MM-DD HH-MM-SS

$date = new DateTime("2010-04-08 22:15:00");
echo $date->format("g"). '.' .$date->format("i"). ' ' .$date->format("A");

//output
//10.15 PM

但是,在我看来,不建议使用. 作为10.15 的分隔符,因为您的用户可能会混淆这是十进制数字还是时间格式。最常见的方式是使用10:15 PM

【讨论】:

【参考方案10】:

AM/PM 实时解决方案的完美答案

<?php echo date('h:i A', time())?>

【讨论】:

【参考方案11】:

这很容易。假设您已经在数据库表中查询了一个类型为“timestamp”的字段(dateposted),并且您想要显示它、格式化它并且还有 AM/PM,那么您需要做的就是如下所示。

     <?php
     echo date("F j, Y h:m:s A" ,strtotime($row_rshearing['dateposted'])); 


    ?>

注意:您的输出应该看起来像这样,具体取决于发布日期

2014 年 5 月 21 日下午 3:05:27

【讨论】:

【参考方案12】:

刚刚好A

 date('h:i A', strtotime($varname->created_at))

【讨论】:

以上是关于如何从 PHP 中的日期时间获取 AM/PM [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Javascript 验证结束时间和从时间与 AM/PM 的日期解析?

考虑 AM/PM 计算 Java 中的日期/时间差

如何在从表单输入(类型=时间)读取的数据中获取“AM/PM”?

如何以 12 小时 AM/PM 格式显示 JavaScript 日期时间?

如何更改GraphicalDatePickerStyle日期选择器Swiftui的选择颜色(AM,PM)和时间

使用 date-fns 2.x 版时,如何将日期时间格式化为 am/pm,不带句点?