32

我让我的用户以这种格式输入日期:-mm/dd/yyyy (11/21/2012)

我的 PHP 脚本将日期转换为以下格式:-dd-Month-yyyy (21-November-2012)

我这样做使用: -

$new_date = date('d-F-Y', strtotime($user_date));

我怎样才能有这种格式的日期:- 21st November 2012

谢谢

4

7 回答 7

79

您可以使用S以下字母:

$new_date = date('jS F Y', strtotime($user_date));

检查手册

于 2012-11-30T07:46:46.387 回答
19

它将按您的预期输出

$my_date = '2016-01-01';

echo date('F jS, Y', strtotime($my_date));
# January 1st, 2016

dS也会在前面加上0

echo date('F dS, Y', strtotime($my_date));
# January 01st, 2016
于 2015-03-26T09:42:27.587 回答
9
$new_date = date('jS F Y', strtotime($date));

S- 日期的英文序数后缀,2 个字符(stndrdth。适用于j

于 2018-01-08T11:16:18.400 回答
4

你可以使用类似的东西:

echo date('l, F jS');

甚至对 HTML 有点花哨:

echo date('l, F j<\s\u\p>S</\s\u\p>');
于 2019-07-11T17:32:56.127 回答
4
**My Date = 22-12-1992**
<?php
    $mydate = "22-12-1992";
    $newDate = date("d M Y", strtotime($mydate));
    $new_date = date('dS F Y', strtotime($newDate));
    echo $new_date;
?>

**OutPut = 22nd December 1992**
于 2017-05-22T06:08:00.143 回答
2

你可以这样做:

<?php echo date('dS M. Y');?>
于 2021-02-18T07:54:20.417 回答
0

$date = date_create('09-22-2012');
echo $date->format('d S F Y');
通过这个代码,你会得到你的愿望

有关更多信息,您还可以访问http://php.net/manual/en/datetime.formats.date.php

于 2016-09-30T15:22:05.503 回答