PHP:转换日期格式的函数

时间:2011-06-21 06:36:17

标签: php

  

可能重复:
  Convert one date format into another in PHP

我想将日期格式从特定格式转换为其他格式。

例如,

将日期从(2011-06-21或2011/06/21或06/21/2011)转换为21062011。

是否有任何功能可以完成这项工作。

提前致谢。

4 个答案:

答案 0 :(得分:2)

var_dump(
    date('dmY', strtotime('2011-06-21')),
    date('dmY', strtotime('2011/06/21')),
    date('dmY', strtotime('06/21/2011'))
);

答案 1 :(得分:1)

您应该使用DateTime类。

$date = new DateTime('2011-06-21');
echo $date->format('dmY');

如果您愿意,可以在程序上使用它。

var_dump(
    date_format(date_create('2011-06-21'), 'dmY'),
    date_format(date_create('2011/06/21'), 'dmY'),
    date_format(date_create('06/21/2011'), 'dmY')
);

答案 2 :(得分:0)

嗨,你应该可以像这样使用日期和strtotime

$date; //the date that needs to be formatted
<?php date('dmY', strtotime($date)); ?>

因此,在date()函数中,您只需格式化日期,但希望原始日期为

php strtotime

希望有所帮助

答案 3 :(得分:0)

不幸的是,日期特定于区域设置。 strtotime()没有观察到语言环境的所有细节(而date_parse是一个简单的strtotime包装器)。例如今天是2011年6月21日在英国,2011年6月21日在美国。

更强大的解决方案是使用DateTime类及其createFromFormat方法。

但是,IME,除非您从一致的机器生成源获取输入数据,否则更好的解决方案是使用便于input in a consistent format

的工具