我在echo date()中面临一些问题,其中包含以下格式:
如果我使用d / m / Y格式:'18 / 04/2017'那么date()无法识别,因为格式包含/
public class EpisodesController : Controller
{
private readonly ITestDbContext dbContext;
public EpisodesController(ITestDbContext dbContext)
{
this.dbContext = dbContext;
}
...
}
它将输出:01-01-1970
但是当我使用m / d / Y格式时:'04 / 18/2017'然后date()它识别
<?php
echo date("d-m-Y",strtotime('16/04/2017'));
?>
它将输出:16-04-2017
我没有得到date()的这些不同行为,请有人帮助我
答案 0 :(得分:2)
正斜杠(/)表示美国M / D / Y格式,短划线( - ) 表示欧洲D-M-Y,句点(。)表示ISO Y.M.D。
因此,如果您的日期与04/16/2017
相同,请将/
更改为-
,然后在其上使用date()
功能将其转换为任何格式。
答案 1 :(得分:1)
您可以使用range()
将日期转换为您想要的任何格式。您的代码存在的问题是date_create_from_format
不支持此格式。
如果您使用strtotime
,那么它将无效,因为它不属于strtotime的支持格式。使用
支持的格式(适用于dd/mm/yyyy
dd
mm
)
dd [。\ t-] mm [.-] YY
示例: 16-04-2017
示例: 16.04.2017
示例: 16 \ t04t \ 2017
yyyy
答案 2 :(得分:0)
另一种方法是将/
替换为给定日期的-
$date = '16/04/2017';
$date = str_replace("/", "-", $date);
echo date("d-m-Y",strtotime($date));