如何将日期从dd-mm-yy
转换为mm-dd-yy
下面是我的代码
<?
$date= date('d-m-y');
echo date('m-d-Y',strtotime($date));
?>
但结果是:09-10-2001
我需要09-01-2010
答案 0 :(得分:8)
这不起作用:
date('m-d-y', strtotime($the_original_date));
如果你有PHP 5.3,你可以这样做:
$date = DateTime::createFromFormat('d-m-y', '09-10-01');
$new_date = $date->format('m-d-Y');
否则:
$parts = explode('-', $original_date);
$new_date = $parts[1] . '-' . $parts[0] . '-' . $parts[2];
答案 1 :(得分:3)
你可以这样做:
$input = 'dd-mm-yy';
$a = explode('-',$input);
$result = $a[1].'-'.$a[0].'-'.$a[2];
答案 2 :(得分:0)
试试这个date("m-d-y", {your date variable})
答案 3 :(得分:0)
如果格式总是如上所述,这应该有效:
$pieces = explode("-", $yourTimestring);
$timestamp = mktime(0,0,0,$pieces[1], $pieces[0], $pieces[2]);
$newDateStr = date("m-d-y", $timestamp);
编辑:是的,只是看到了“codaddict”的回答,是的,如果我将它分开,你也可以直接连接它^^
答案 4 :(得分:0)
如果你没有PHP 5.3可以使用sscanf
函数并使用参数交换选项:
$theDate = '01-02-03';
print join(sscanf($theDate, '%2$2s-%1$2s-%3$2s'), '-');
# output: 02-01-03
sscanf
基本上根据提供的格式解析数组中提供的字符串,将第一个匹配的参数(日)与第二个(月)交换,使第三个(年)保持不变,然后数组再次与-
作为分隔符连接。