我想知道是否有人知道如何在PHP中反转日期功能。 例如..如果我想打印我会做的日/月/年/时间:
date("d jS M, Y", strtotime("2012-01-01 12:12:12"));
如果我在2012年1月1日星期六中午12点12分 - 是否有办法将其反转为输出“2012-01-01 12:12:12”。
提前致谢。
答案 0 :(得分:5)
试试这个
这个问题的真正答案我的意思是http://www.php.net/manual/en/datetime.createfromformat.php
<?php
$date = date_create_from_format('j-M-Y', '15-Oct-2012');
echo date_format($date, 'Y-m-d');
?>
答案 1 :(得分:1)
看看PHP的DateTime
class。它比旧式date()
功能灵活得多,而且是朋友。
在您的情况下,听起来您需要DateTime::createFromFormat()
。如果您有一个已知格式的输入日期字符串,则此函数非常有用。使用旧样式strtotime()
函数,您无法指定格式,因此必须自行解决(在某些情况下,它会错误地猜到)。
此示例来自手册页:
$format = 'Y-m-d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
createFromFormat
接受的格式字符串与您所知道的格式字符串相同,并且喜欢旧的date()
函数,因此如果您想要输出格式,那么请确定您的格式。我会有解决方案。
因此,根据您在问题中指定的格式,您可以写下:
$inputDateString = "Sat 1st January, 2012 12.12pm";
$dateObject = DateTime::createFromFormat("D jS M, Y h.ia",$inputDateString);
print $dateObject->format('Y-m-d H:i:s');
这将输出2012-01-01 12:12:00
希望有所帮助。
答案 2 :(得分:0)
strptime()
做了类似的事情,但并不完全(你应该根据strptime
编写自己的函数)
http://www.php.net/manual/en/function.strptime.php
修改强>:
或者,在PHP 5.3+中:date_parse_from_format
http://www.php.net/manual/en/function.date-parse-from-format.php
答案 3 :(得分:-1)
{function rev_date($date){
$array=explode("-",$date);
$rev=array_reverse($array);
$date=implode("-",$rev);
return $date;
}}