0

我有一个像这样2012/10/12 10:03:46(年/月/日)格式的字符串,现在我想将其格式更改为这样的格式,October 12, 2012 10:03 p.m我尝试了 php 的 DateTime 类,但它不起作用:

<?php

 $date = new DateTime();
 $date->createFromFormat('Y/m/dd H:i:s', substr($suggestion->suggestion->created_at, 0,19));
 echo $date->format('d-m, y h:i A');

?>

谁能告诉我出了什么问题,我该如何纠正?

4

5 回答 5

4

您应该至少看到一个通知,例如“不要在非静态上下文中调用静态函数”。

DateTime::createFomFormat()

$date = DateTime::createFromFormat('Y/m/d H:i:s', substr($suggestion->suggestion->created_at, 0,19));
echo $date->format('F j, Y, g:i a');

这是一个静态方法,并且(顾名思义)它创建一个新的DateTime.

于 2012-10-15T11:41:10.470 回答
2

尝试这个...

$today = date("F j, Y h:i a"); // gives October 15, 2012 5:20 PM
于 2012-10-15T11:54:04.330 回答
2
<?php

 $date = new DateTime('2012/10/12 10:03:46');
 echo $date->format('d-M, y h:i:s A');


//output -  12-Oct, 12 10:03:46 AM
?>
于 2012-10-15T11:47:19.103 回答
2
$today = date("F j, Y, g:i a"); 
于 2012-10-15T11:43:38.707 回答
1

尝试这个...

$today = date("F j, Y g:i A"); // gives October 15, 2012 5:20 PM (g removes leading zeroes)

你的情况

$date = new DateTime('2012/10/12 10:03:46');
echo $date->format('F j, Y h:i A'); // gives October 15, 2012 10:03 AM

参考:点击

于 2012-10-15T11:41:14.953 回答