代码之家  ›  专栏  ›  技术社区  ›  Derek Adair

在php中格式化带有或不带前导零的日期

  •  1
  • Derek Adair  · 技术社区  · 15 年前

    如何转换将格式设置为…

    m/d/yyyy H:i:s mm/dd/yyyy H:i:s

    把它格式化成… yyyy-mm-dd H:i:s

    我可以将两个输入格式化为所需的格式,但不能同时格式化。

    3 回复  |  直到 15 年前
        1
  •  3
  •   JAL    15 年前
    function format_date($date){
      return date('Y-m-d H:i:s',strtotime($date));
      }
    

    应该会成功的。

        2
  •  1
  •   prodigitalson    15 年前

    最简单的方法是首先使用 strtotime 然后运行 strftime 之后…不是BES实践,但它消除了许多潜在的格式解析问题:-)

        3
  •  1
  •   Brock Batsell    15 年前

    你现在是怎么格式化的?如果您确定只有这两种日期格式可以作为输入,那么您可以 explode() 在前面的斜线上,如果 strlen() 在月份或日期返回1,在创建 yyyy-mm-dd 字符串。

    但是,如果不能保证这是您仅有的两种输入格式,那么我将使用 strtotime() 将其转换为epoch,然后使用 date() 按照你的要求来编排。一个稍大的处理命中,但更通用的代码。