php使用格式mm-dd-yyyy制作日期

时间:2009-08-20 20:17:40

标签: php date

我的日期格式如下

MM-DD-YYYY

如何在PHP中将此转换为UNIX时间

由于

遇到小问题

$date = strtotime($_POST['retDate']);
print $date; //Prints nothing
print $_POST['retDate']; //Prints 08-18-2009

4 个答案:

答案 0 :(得分:3)

如果格式总是这样,我会尝试类似:

list($m,$d,$y) = explode('-', '08-18-2009');
$time = mktime(0, 0, 0, $m, $d, $y);
print date('m-d-Y', $time);

至于你的例子,问题是函数失败了。您应该这样检查:

if(($time=strtotime('08-18-2009'))!==false)
{
 // valid time format
}
else
 echo 'You entered an invalid time format';

答案 1 :(得分:2)

或者你可以使用php date obyek这样做,就像这样

$tgl = "30-12-2013";
$tgl2 = DateTime::createFromFormat('d-m-Y', $tgl);
print_r($tgl2);
echo($tgl2->format('Y-m-d'));

我希望这可以帮助......

答案 2 :(得分:1)

使用 strtotime

$str = "03-31-2009";
$unixtime = strtotime($str);

答案 3 :(得分:0)

由于提供了这些答案和评论,PHP已更新为包含完全适合这种情况的本机函数。查看PHP's DateTime object here。这包括将按要求执行的createFromFormat方法。在这个特定的例子中:

$date = DateTime::createFromFormat('j-M-Y', $_POST['retDate']);

从那里,您可以根据需要对其进行格式化或执行任何其他日期操作:

echo $date->format('Y-m-d');

就是这样!请注意,这仅在PHP 5.3.0或更高版本中提供!