如何从 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”?
如何以 12 小时 AM/PM 格式显示 JavaScript 日期时间?