2012-10-15 56 views
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'); 

?> 

任何人都可以告诉我什么是错的,我该如何纠正?

+0

/dd而不是简单地/ d?!? –

+0

你用你提供的代码得到了什么? – Marcus

+2

尝试'(“F j,Y,g​​:i a”)' – Dorvalla

回答

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一个新的实例。

+0

感谢队友它帮助我也只是一个小小的编辑和它的所有完成和正确的答案:) – Seeker

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 

参考:click

2
$today = date("F j, Y, g:i a"); 
+0

@PHPSeeker:谢谢你2我也乐意 –

+0

永远我的荣幸 – Seeker

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 
?> 
+1

感谢队友它帮了我很多:) – Seeker

2

尝试......

$today = date("F j, Y h:i a"); // gives October 15, 2012 5:20 PM