我在日期之后接受输入:12.01.2017 2:25 pm
但是当我在php函数 strtotime 上面超过datetime时,它并没有以24小时格式返回确切的日期时间。
这是我的脚本:
$sdate="12.01.2017 2:25 pm";
date("d.m.Y H:m", strtotime($sdate))
它总是 12-jan-2017 14:01:00
但准确的输出应该是: 12-jan-2017 14:25:00
请告诉我如何获得准确的约会时间。
由于
答案 0 :(得分:1)
嘿,你的dateformat字符串有问题: 你的剧本应该 H:i 而不是 H:m 。
请更正日期并根据您的期望对其进行格式化:
date("d-M-Y H:i", strtotime($sdate));
答案 1 :(得分:0)
<?php
$sdate="12.01.2017 2:25 pm";
echo date("d-M-Y H:i", strtotime($sdate));
?>
答案 2 :(得分:0)
您应该在日期中使用 i 而不是 m : 像这样
echo $sdate="12.01.2017 2:25 pm";
echo date("d.m.Y H:i", strtotime($sdate));
答案 3 :(得分:0)
已经有使用strtotime()
的答案。我想告诉你DateTime
课程。我发现它非常有用并且更好看。这对大多数人来说并不重要,但仍然如此。
// Date string
$dateString = '12.01.2017 11:03 am';
// Create date object from string
$oDate = DateTime::createFromFormat('d.m.Y h:i a', $dateString);
// Output the date
echo $oDate->format('d.m.Y h:i a');
// Or some other format
echo $oDate->format('Y-m-d H:i:s');
请注意date()
和DateTime
接受相同的日期参数。您的字符串表明您需要以下参数。
d - Day of the month, 2 digits with leading zeros
m - Numeric representation of a month, with leading zeros
Y - A full numeric representation of a year, 4 digits
h - 12-hour format of an hour with leading zeros
i - Minutes with leading zeros
a - Lowercase Ante meridiem and Post meridiem
有关date
,DateTime
,strtotime()
以及您可以使用的所有参数的详情,请访问:
date()和DateTime手册列出了所有可能的参数