【问题标题】:Php converting date format not working [duplicate]PHP转换日期格式不起作用[重复]
【发布时间】:2017-05-17 14:54:19
【问题描述】:
$date = "31/01/2017";
$date = date("Y-m-d", strtotime($date));

对于某些上述代码不起作用并给我结果:$date = 1970-01-01;

当我从数据库中获取日期并以相同的方式转换它的工作时。但是当我想将“d/m/Y”格式转换为“Y-m-d”时不起作用

我可以通过爆炸以其他方式转换日期,但是为什么上面的代码不起作用..??

【问题讨论】:

  • 您需要将m/d/y/d-m-y- 一起使用。 strtotime() 期望这样,因为 m/d/y 是美国格式,d-m-y 年份是许多其他国家/地区。
  • @AbraCadaver 对不起,我没能找到你..
  • 您必须使用01/31/201731-01-2017 或查看副本上的第二个答案。
  • 基本上,当您使用strtotime 时,您需要在these formats that the parser understands 之一中给它一个字符串,而“d/m/Y”不在该列表中。
  • 如果您仍然想在重复答案中使用strtotime 而不是date_create_from_format,则可以在使用@987654339 之前将str_replace $date 中的/ 转换为- @.

标签: php date format


【解决方案1】:

这样试试

<?php
$date = "31-01-2017";
$date = date("Y-m-d", strtotime($date));
echo $date;
?>

输出:

2017-01-31

【讨论】:

  • 您的代码可以正常工作,但为什么不能使用带有“/”的日期格式。日期格式“2017-01-31”正在通过使用转换为“31/01/2017”同样的方法..
猜你喜欢
  • 1970-01-01
  • 2021-04-07
  • 2011-01-30
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 2016-10-08
  • 2021-09-10
  • 2013-09-07
相关资源
最近更新 更多