不同格式之间的PHP日期转换

时间:2012-01-10 14:53:20

标签: php datetime

我有一些数据格式如:04.09.1953

我想将此格式转换为:1953-09-04

有没有办法或php功能呢?

4 个答案:

答案 0 :(得分:2)

只需使用strtotime()获取时间戳,然后date()将该时间戳转换为您需要的格式:

$timestamp = strtotime("04.09.1953");
echo date("Y-m-d", $timestamp);

修改
如果您使用某种“异国情调”格式作为输入,则可能需要使用explode()list()mktime()来自行构建时间戳:

list($y,$m,$d) = explode(".","04.09.1953");
$timestamp = mktime(0,0,0,$m,$d,$y);
echo date("Y-m-d", $timestamp);

答案 1 :(得分:0)

你试过strtotime()吗?它可能有用,否则你需要使用子串或爆炸进行手动转换。

http://php.net/strtotime

http://php.net/substring

http://php.net/explode

答案 2 :(得分:0)

http://www.handyphp.com/index.php/PHP-Resources/Handy-PHP-Functions/reformat_date.html

function reformat_date($date, $format){
$output = date($format, strtotime($date));
return $output;
}

答案 3 :(得分:0)

如果您感兴趣的是从一种“字符串”格式转换为另一种格式,您可以使用regEx:

$ DMY = '04 .09.1953';

$ YMD = preg_replace('/(\ d \ d)。(\ d \ d)。(\ d {4,4})/','$ 3- $ 2- $ 1',$ DMY);