如何在PHP中重新格式化日期?

Lis*_*isa 26 php date

我从数据库中提取各种帖子的日期.日期格式如下:

2009-08-12

Numeric Year - Numeric Month - Numeric Day
Run Code Online (Sandbox Code Playgroud)

如何将这些日期重新格式化为更友好的用户:

August 12, 2009

Numeric Month Numeric Date, Numeric Year
Run Code Online (Sandbox Code Playgroud)

假设从mysql数据库获取的日期存储在一个名为的变量中:

$date = $row['date_selected'];
Run Code Online (Sandbox Code Playgroud)

Bil*_*eal 59

strtotime基于示例的示例不同,这允许您确保按正确顺序解释月份和日期,而不管服务器上指定的区域设置如何.

$date = DateTime::createFromFormat('Y-m-d', '2009-08-12');
$output = $date->format('F j, Y');
Run Code Online (Sandbox Code Playgroud)

  • +1:`DateTime`应该始终是首选而不是`strtotime`. (6认同)
  • 你实际上可以在一行上执行此操作:`$ date = DateTime :: createFromFormat('Ym-d','2009-08-12') - > format('F j,Y');` (2认同)

Fem*_*ref 51

date("F d, Y", strtotime($input))

  • 您只能通过调用strtotime来强制执行正确的处理.例如,有人可以切换月和日,并且strtotime无法处理它. (3认同)

Tyl*_*ter 6

$new_format = date("Your Date String", strtotime($date));
Run Code Online (Sandbox Code Playgroud)

请参阅:
- http://php.net/strtotime
- http://php.net/date

基本上,如果strtotime()能够正确读取,您可以随意重新格式化.

在这种情况下,Year - Month - Day是一种正确识别的strtotime()格式,其他格式可能不是这种情况.